请问各位,VC调试的时候出现的反汇编怎么看,比如我的程序出现了内存泄漏,然后点调试出现出错的反汇编代码位置,我要怎么看 定位到程序的代码;这方面我是个新手 请各位多多指教 谢谢!

解决方案 »

  1.   

    1. 得懂ASM
    2. 可以试试call stack去定位到c++代码
      

  2.   

    这个容易,调试时在代码窗口的右键菜单中选择“Go To Disassembly”
    然后就是这样了:10:   int main()
    11:   {
    00401100   push        ebp
    00401101   mov         ebp,esp
    00401103   sub         esp,6Ch
    00401106   push        ebx
    00401107   push        esi
    00401108   push        edi
    00401109   lea         edi,[ebp-6Ch]
    0040110C   mov         ecx,1Bh
    00401111   mov         eax,0CCCCCCCCh
    00401116   rep stos    dword ptr [edi]
    12:       printf(" -- by MoreWindows( http://blog.csdn.net/MoreWindows ) --\n\n");
    00401118   push        offset string " -- by MoreWindows( http://blog."... (0042202c)
    0040111D   call        printf (004015a0)
    00401122   add         esp,4
    13:
    14:       const int MAXN = 10;
    00401125   mov         dword ptr [ebp-4],0Ah
    15:       int a[MAXN] = {2, 4, 1, 5, 7,  6, 1, 9, 0, 2};
    0040112C   mov         dword ptr [ebp-2Ch],2
    00401133   mov         dword ptr [ebp-28h],4
    0040113A   mov         dword ptr [ebp-24h],1
    00401141   mov         dword ptr [ebp-20h],5
    00401148   mov         dword ptr [ebp-1Ch],7
    0040114F   mov         dword ptr [ebp-18h],6
    00401156   mov         dword ptr [ebp-14h],1
    0040115D   mov         dword ptr [ebp-10h],9
    00401164   mov         dword ptr [ebp-0Ch],0
    0040116B   mov         dword ptr [ebp-8],2
      

  3.   

    http://blog.csdn.net/robertbaker/article/details/6362012
      

  4.   

    不过内存泄露还是用工具查快一些。如:Visual Leak Detector