我有一个应用程序,我没有代码,以及我有代码的dll。我需要能够调试到DLL,但缺乏EXE的来源,我该怎么做?如何在执行期间停止C++应用程序以调试到dll?
该dll代码是mfc C++;我相信主应用程序也是一样的。
我试着做一个'设置目标应用程序'的协议,在那里我设置的应用程序,该DLL将被调用,并且应用程序崩溃一个可怕的,可怕的死亡,当这样调用。我不知道错误在于这个dll还是这个行为的可执行文件,这只是我想解决的无数事情之一。
我在想,应该有一些调用来允许DLL无限期旋转,直到调试器连接到进程,此时我应该能够通过附加到进程来调试DLL。那有意义吗?有一个更好的方法吗?
如果先启动exe然后附加调试器,会发生什么?您还无法设置断点? – Naveen 2009-06-02 18:13:00
我怀疑你需要以你描述的标准方式调试exe/dll时才能到达崩溃的底部。虽然你可以在应用程序启动后“附加”一个调试器,但是我不知道系统是否会随即崩溃。 – Aardvark 2009-06-02 18:22:59
@Naveen:如果我附加到正在运行的进程,则忽略断点。 @Aardvark:在我将要尝试的那个调试中断事件后我会发现。我强烈怀疑,由于应用程序和dll通过希望和胶带粘在一起,我不打算修复崩溃。我只想提取一部分dll,以便能够以一种理智的方式进行重写。 – mmr 2009-06-02 18:35:15