附加到Visual C ++ 2003中的外部可执行文件

时间:2008-08-27 19:57:39

标签: debugging visual-c++ visual-studio-2003

我有一个可执行文件(由其他人编译)在我的代码附近发出一个断言。我在Visual C ++ 2003中处理代码,但我没有这个特定可执行文件的项目文件(该代码用于构建许多不同的工具)。是否可以在Visual C ++的调试器中启动二进制文件,并告诉它源的位置?我以前在GDB中做过这个,所以我知道它应该是可能的。

3 个答案:

答案 0 :(得分:2)

如果没有该应用程序的PDB符号,您将很难做出正在发生的事情或其中的正面或反面。我认为任何源代码信息都只会出现在构建该应用程序时创建的PDB文件中。

这假设PDB文件是为此应用程序创建的 - 这不是我认为的发布模式VC ++项目的默认配置。既然你断言了,我猜这是一个调试配置?

答案 1 :(得分:0)

没有任何其他答案,我会尝试附加到Visual Studio中的可执行进程,在代码中设置一个断点,当你进入你没有源代码的进程时,它应该要求一个源文件

答案 2 :(得分:0)

是的,这是可能的。只需设置一个空项目并将所需的.exe文件指定为调试目标。我不记得具体如何,但我知道它是可行的,因为我在为Winamp开发插件时曾经将winamp.exe设置为调试目标。

由于你没有源文件,它只会显示汇编代码,但这可能仍然有用,因为你还可以检查内存,寄存器等。

<强>更新

如果您正在自己的程序中调试断言,那么您应该能够正确地看到源代码,因为在使用调试信息编译它时,源文件的路径存储在可执行文件中。