添加到Visual C ++ 2003中的外部可执行文件
时间:2020-03-05 18:44:04 来源:igfitidea点击:
我有一个可执行文件(由其他人编译),在我的代码附近命中了一个断言。我使用Visual C ++ 2003中的代码进行工作,但是我没有用于此特定可执行文件的项目文件(该代码用于构建许多不同的工具)。是否可以在Visual C ++的调试器中启动二进制文件并仅告诉它源代码在哪里?我之前在GDB中已经做到了,所以我知道这应该是可能的。
解决方案
回答
除了其他答案之外,我将尝试在Visual Studio中添加到可执行过程,在代码中设置一个断点,并且当我们进入没有源代码的过程时,它应该询问源文件。
回答
是的,有可能。只需设置一个空项目,然后将所需的.exe文件指定为调试目标。我不记得确切是怎么做的,但是我知道它是可行的,因为当我为Winamp开发插件时,我曾经将winamp.exe
设置为调试目标。
由于我们没有源文件,因此它将仅显示汇编代码,但这可能仍然有用,因为我们还可以检查内存,寄存器等。
更新
如果要在自己的程序中调试断言,则应该可以很好地看到源代码,因为在使用调试信息编译可执行文件时,源文件的路径存储在可执行文件中。
回答
没有用于该应用程序的PDB符号,我们将很难在正在发生的事情和发生的事情上走到最后。我认为任何源代码信息都将仅在构建该应用程序的人员创建时创建的PDB文件中。
这是假设PDB文件是为此应用程序创建的,这不是我认为的发布模式VC ++项目的默认配置。既然我们在声明,那么我猜这是一个调试配置吗?