调试器,如Eclipse,NetBeans,Visual Studio等中的调试器
我想知道,因为调试器正在执行机器代码时... 他们如何跟踪源代码中的行号?
跟踪行号是不是很困难,因为高级指令可能有一堆机器语言指令而另一个可能没有机器语言指令(可能是因为它只是支持另一个高级指令)? / p>
答案 0 :(得分:5)
当您使用调试标志(例如,gcc -g ...
)编译代码时,编译器会将有关源文件和行号的信息插入到已编译的二进制文件中,以便调试器可以在运行时使用此信息。 This answer更详细地讨论了调试符号。