DEBUG 不适用于所有可执行文件?
我的电脑上安装了 Windows 7。我正在一起学习C语言和汇编语言。我使用 codeblock IDE 编写 C 代码,使用 emu8086 编写汇编代码。我可以从 DOS 提示符调试汇编代码,但不能调试 C 代码。为什么会这样呢? 我在编写 C 代码时选择控制台应用程序选项。它们可以在 DOS 提示符下自行运行良好,但不能通过 DEBUG 模式运行。 我打算观察C编译器创建的机器代码和符号汇编代码。 我假设使用 DEBUG 我应该能够跟踪所有可执行文件的执行,毕竟这是 DEBUG 的目的。不是吗?
I have Windows 7 installed on my PC. I am learning C and assembly language together. I use codeblock IDE for writing C codes and emu8086 for assembly codes. I am able to DEBUG the assembly codes from DOS prompt, but not the C codes. Why so?
I select console application option while writing C codes. they run well on their own from DOS prompt, but not through DEBUG mode.
I intend to observe the machine code and the symbolic assembly code created by the C compiler.
I was assuming that Using DEBUG I should be able to trace the execution of all executable files, after all that is the purpose of DEBUG. Isn't it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可能需要下载 Microsoft 的Windows 调试工具并使用 Windbg(或毫无疑问,无论您使用什么编译器都附带了调试器)。
You probably want to download Microsoft's Debugging tools for Windows and use Windbg (or the debugger that undoubtedly came with whatever compiler you're using).
如果一个程序没有用调试符号编译(实际上每个程序都不是),那么在调试它时您将看不到 c 或其他源代码。你只会看到最低层,那就是装配。
If a program is not compiled with debug symbols (virtually every program is not), you will not see c or other source code when debugging it. You will only see the lowest level, and that is assembly.