就是怎样拦截一个WIN32 API调用,在调用前怎么拦截,调用后,怎么检查API的返回值?这种功能能用HOOK实现吗?还有C++中的new系统是调用的GlobalAlloc吗?先谢谢各位大侠了!

解决方案 »

  1.   

    1,建议你看一下《Windows核心编成》的第 22 章
    2, Debug 底下是用 HeapAlloc,Realease 应该一样。
      

  2.   

    HeapAlloc,Realease 一样吗?????????????????????????????????????????
      

  3.   

    to constantine(飘遥的安吉儿):
        我是根进到源代码中看到的,Release没法跟进调试。我想既然他Debug 底下是调用HeapAlloc,不会非要在Release版本中换一个函数吧?to fshpf (鹏飞):
        把你的邮箱地址贴出来,我给你发一个例子。
      

  4.   

    Release版下跟踪进入的办法是:Release版本单步跟踪方法
    选中Win32 Release然后
    Project-》setting-》C/C++ -》Category-》General
                                  -》Optimization-》Disable(Debug)
                                  -》Debug Info-》Program DataBase
                      -》Link---》Generate Debug Info打上钩
      

  5.   

    Release跟进的源文件还是原来的那个文件,碰到mallco就跟不进去了(Debug底下调用的是_malloc_dbg,还能继续跟踪)。
      

  6.   

    《Windows核心编成》,csdn第二书店有卖的