Добрый день,
иногда когда нет возможности запустить для отладки дебаггер
тогда можно сэкономить время используя аналог 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;
}