1

我看到使用“附加到进程”,可以通过在 Visual Studio IDE 中设置断点来调试进程。

我认为这很酷,我很好奇启用它的机制是什么。我还发现 gdb 和 Mac 的 Xcode 支持该技术。

  • Q1:谁能解释这是如何工作的?进程如何映射到 IDE 或 gdb 环境中的断点?
  • Q2 : 除了 /Zi 或 -g (添加调试信息)之外,还有其他编译器/调试器选项吗?
  • Q3:这是调试dll(动态库)的方式吗?

添加

我用 MSDN 找到了这个 - http://msdn.microsoft.com/en-us/library/c6wf8e4z.aspx

4

2 回答 2

2

我所知道的最常见的场景是使用浏览器来调试 Web 代码。在这些情况下,您可以在调试模式下启动 Visual Studio,然后附加到浏览器并调用相关页面。当页面被调用时,它开始在调试器中运行代码。本质上,调试器监视进程,当它遇到 VS 中的代码时,它开始调试。

调用您在 Visual Studio 中运行的代码的其他应用程序也是如此。当您越过代码边界时,调试器会捕获调用并开始在 VS 中运行代码。

于 2011-01-18T16:52:32.863 回答
0

在为现有应用程序(Maya、Reaper 等)开发插件时,我经常使用它。作为一般规则,插件不能独立运行,所以为了调试它们,我必须运行主机程序并使用“附加到进程”在我的插件上运行调试器,此时我可以设置断点和所有其他调试优点。您需要为插件提供调试符号等,但您不需要为主机应用程序提供它们。

于 2013-10-14T21:47:16.840 回答