Есть ли способ показать ошибочную строку кода вместо адреса памяти при возникновении ошибки во время выполнения в VSCode? - PullRequest
1 голос
/ 14 марта 2019

См. Вопрос в заголовке:

Ошибка времени выполнения 201 в $ 0000000100001D42 $ 0000000100001D42

Есть ли способ показать ошибочную строку кода вместо адреса памяти?

Спасибо за помощь

1 Ответ

0 голосов
/ 15 марта 2019

Обычно, когда возникает ошибка во время выполнения, вам предоставляется список адресов, которые представляют обратный след стека вызовов, то есть адреса всех процедур, которые были вызваны при возникновении ошибки времени выполнения.

Этот список не очень информативен, поэтому существует модуль, который генерирует имена файлов и номера строк вызываемых процедур, используя адреса обратного следа стека.Этот модуль называется 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

Это более понятно, чем обычное сообщение.Убедитесь, что все используемые вами модули скомпилированы с отладочной информацией, потому что в противном случае номер строки и имя файла не могут быть найдены.

...