Обычно, когда возникает ошибка во время выполнения, вам предоставляется список адресов, которые представляют обратный след стека вызовов, то есть адреса всех процедур, которые были вызваны при возникновении ошибки времени выполнения.
Этот список не очень информативен, поэтому существует модуль, который генерирует имена файлов и номера строк вызываемых процедур, используя адреса обратного следа стека.Этот модуль называется lineinfo.
Вы можете использовать этот модуль, задав опцию -gl
компилятору.Устройство будет автоматически включено.Также возможно явно использовать модуль в предложении использования, но вы должны убедиться, что вы компилируете свою программу с отладочной информацией.
При компиляции с -gl
генерируется следующий вывод:
Runtime error 255 at 0x0040BDE5
0x0040BDE5 GENERATEERROR255, line 6 of testline.pp
0x0040BDF0 GENERATEANERROR, line 13 of testline.pp
0x0040BE0C main, line 17 of testline.pp
0x0040B7B1
Это более понятно, чем обычное сообщение.Убедитесь, что все используемые вами модули скомпилированы с отладочной информацией, потому что в противном случае номер строки и имя файла не могут быть найдены.