【发布时间】:2020-08-06 22:11:36
【问题描述】:
在 Python 中,当发生崩溃时,发生崩溃的代码行和错误消息会打印到控制台窗口。这也可以在 Free Pascal 中使用 lineinfo 单元进行设置。
在 C++(Visual Studio 社区)中是否有等价物?
这个 (https://docs.microsoft.com/en-us/visualstudio/debugger/getting-started-with-the-debugger-cpp?view=vs-2019) 不会告诉我崩溃发生在哪条线路上,但可以帮助我猜测它发生在哪里,我想节省时间。
【问题讨论】:
-
那“代码行”称为调试器和调用堆栈。
-
您还可以使用其他工具来帮助您找出问题所在。以下是一些可用工具的列表:stackoverflow.com/a/6580332/7582247
-
一个经过编译和优化的 C++ 程序通常会去掉几乎所有的识别标记,函数被简化为一个地址,变量是一个地址或另一个地址的偏移量,执行的机器指令通常看起来不像源代码。将您的源代码想象成将水果放入搅拌机中,当计算机运行时,它通过一根或多根吸管饮用产生的冰沙。提取代码行甚至行号之类的信息几乎是不可能的。
-
然后我完全没有得到关于它在哪一行代码上崩溃的信息。 在右下角(默认窗口布局)是一个调用堆栈选项卡。其中包含您需要了解的有关程序崩溃的位置、正在运行的变量以及程序如何到达那里的所有信息。非常方便。更正:您必须向左看才能找到起作用的变量。把我的调试器弄混了。
-
不用担心。但回到我的一天 8:30 是在睡觉。我们不得不步行 40 英里去上班——那时没有公制,儿子——风雨飘雪。上山。两种方式...