OllyDbg无法调试visual studio exe

时间:2011-04-25 14:32:32

标签: c++ debugging assembly ollydbg seh

我刚用这个简单的代码创建了一个新的vc ++ exe:

#include<stdio.h>
#include<string.h>
#include<windows.h>

int ExceptionHandler(void);
int main(int argc,char *argv[]){

char temp[512];

printf("Application launched");

try 
{

  throw "error";

} 
catch (... )
{
    ExceptionHandler();
}
return 0;
}
int ExceptionHandler(void)
{
    printf("Exception");
    return 0;
}

该应用程序非常简单,并且创建了一个取决于kernel32.dll和MSVCR100D.dll的exe文件。

当我尝试将其导入并调试到OllyDbg(我只是想在堆栈窗口中看到SEH链)时,它说“模块'testseh'在代码之外有入口点(在PE头中指定)。也许这个文件是自解压或自修改的。设置断点时请记住这一点!“并且没有代码被执行,它直接跳转到ntdll.dll崩溃部分(实际上exe崩溃但我不能一步一步地执行printf指令)

怎么会出现这种行为? exe不依赖于CLI和CLR,我错过了什么?

1 个答案:

答案 0 :(得分:2)

将olly中的异常编译为关键(错误设置)