• Windbg 问题集锦记录


    问题1:

    问:

     0  Id: 15f4.e60 Suspend: 1 Teb: 7ffdf000 Unfrozen
     # ChildEBP RetAddr  Args to Child              
    00 0012fe80 77d693f3 00456cd8 0012feec 00456cf3 ntdll!KiFastSystemCallRet
    *** WARNING: Unable to verify checksum for PlayDemo.exe
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for PlayDemo.exe - 
    01 0012fe84 00456cd8 0012feec 00456cf3 0012febc USER32!NtUserWaitMessage+0xc
    WARNING: Stack unwind information not available. Following frames may be wrong.
    02 0012febc 004561c3 000325ea 00000113 00000001 PlayDemo!PerfgrapFinalize+0x428f8
    03 0012fee4 0045644f 0012fef8 00456459 0012ff14 PlayDemo!PerfgrapFinalize+0x41de3
    04 0012ff14 00401713 00000000 004c9034 002a2893 PlayDemo!PerfgrapFinalize+0x4206f
    05 0012ff50 004c26f7 00400000 00000000 002a2893 PlayDemo!_GetExceptDLLinfo+0x2a6
    06 0012ff88 75f51174 7ffd5000 0012ffd4 77c4b3f5 PlayDemo!PerfgrapFinalize+0xae317
    07 0012ff94 77c4b3f5 7ffd5000 57cfea49 00000000 kernel32!BaseThreadInitThunk+0xe
    08 0012ffd4 77c4b3c8 00401414 7ffd5000 00000000 ntdll!__RtlUserThreadStart+0x70
    09 0012ffec 00000000 00401414 7ffd5000 00000000 ntdll!_RtlUserThreadStart+0x1b

    问题:标红颜色的那行提示,代表我匹配不到PlayDemo的符号文件,但ntdll的符号文件我是匹配成功的,那么-->是不是我下面绿字的栈信息是不是就不对了呢?(因为PlayDemo的符号不对,栈回溯出现问题)

    答案:

    因为栈回溯是以递推方式产生的,上面的不对,有可能影响下面的。但这也不是绝对的,WinDBG会使用默认的规则递推寻找,有时是可能跨越模糊区域,进入到有符号的部分继续递推的。比如本例中,根据经验,绿色部分大体是正确的


    问题2

    问:

    系统调用过函数kifastsystemcall后,在栈中会看到函数kifastsystemcallret,我原以为这个函数应包含sysexit指令,没想到却是ret指令。

    lkd> u ntdll!kifastsystemcallret
    ntdll!KiFastSystemCallRet:
    7c92eb94 c3              ret

    答案:

    这是从内核态回到用户态的着陆点,此时已经回到了用户态,ret是回到用户态的父函数


  • 相关阅读:
    Scala编程基础
    大数据学习环境搭建(CentOS6.9+Hadoop2.7.3+Hive1.2.1+Hbase1.3.1+Spark2.1.1)
    hadoop2.7.3编译,支持snappy、bzip2本地压缩
    ABAP非Unicode系统中字符串拼接(CONCATENATE)时吃字符问题
    Hadoop学习笔记
    HIVE开发总结
    中文字符截取乱码问题
    替换空字符NULL(字符编码为0的字符)
    Generate Time Data(普通日期主数据)
    Generate Time Data(财务日期主数据)
  • 原文地址:https://www.cnblogs.com/vcerror/p/4289174.html