VSCode出现运行时错误时,有没有办法显示错误的代码行而不是内存地址?

Is there a way to show the faulty code line instead of the memory address when a runtime error occurs in VSCode?

见题中问题:

Runtime error 201 at [=11=]00000100001D42 [=11=]00000100001D42

有没有办法显示错误的代码行而不是内存地址?

感谢帮助

通常,当发生 运行 次错误时,您会看到一个表示调用堆栈回溯的地址列表,即 运行 时调用的所有过程的地址-发生时间错误。

此列表信息量不大,因此存在一个单元,它使用堆栈回溯的地址生成被调用过程的文件名和行号。这个单元叫做lineinfo。

您可以通过为编译器提供 -gl 选项来使用该单元。该单位将自动包含在内。也可以在您的 uses 子句中显式使用该单元,但您必须确保使用调试信息编译您的程序。

使用-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

这比普通消息更容易理解。确保您使用的所有单元都使用调试信息进行编译,因为如果不是,则找不到行号和文件名。