![]() |
#9 |
Участник
|
Добрый день,
иногда когда нет возможности запустить для отладки дебаггер тогда можно сэкономить время используя аналог info2file(strfmt(..),.. ); для Web -вывод стек трейса - может немного сэкономить время этот код возможно будет работать только в 4-ке: X++: static server boolean stackTrace2File(anytype _string, str _mode = 'A',Filename _file = "") { Filename fileName = _file ? _file : xInfo::directory(DirectoryType::Config) + '..\\..\\log\\' + curuserid() + '-info2File.txt'; str toFile = strFmt("%1 [%2] '%3'", systemdateget(), time2str(timenow(), 1, 1), _string) + '\n'; FileIOPermission perm = new FileIOPermission(fileName, _mode); container stack = xSession::xppCallStack(); AsciiIo file; str stackTraceStr(container stackTrace) { int i; str s = ""; ; for(i = 1; i <= conLen(stackTrace); i += 2) s+=strFmt("%1:%2\r\n", conPeek(stackTrace, i), conPeek(stackTrace, i+1)); return s; } ; perm.assert(); file = new AsciiIO(fileName, _mode); if (file.status() == IO_Status::Ok) { file.write(toFile+'\r\n' + stackTraceStr(stack)); return true; } return false; } |
|