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是回到用户态的父函数
Windbg 问题集锦记录的更多相关文章
- WinDbg 命令集锦
//断点相关 bp + 地址 设置断点bl 显示已经设定的断点bu + 地址 设置断点,但是这种类型断点再下一次启动时被记录bc 清除断点对于断点范围,可以用*匹配,-表示一个范围,表达多个可用,号 ...
- windbg安装pykd记录
https://githomelab.ru/pykd/pykd 1.安装python (坑,分x86和x64,对应windbg版本) 2.安装pykd:'pip install pykd' 3.安 ...
- win7 x64和win10 x64 windbg 本地调试记录
今天看CSDN和某文档看了win7 64位 和win10 64位 的windbg本地调试内核的办法 win7 x64 Step1:kdbgctrl –db Step2:kdbgctrl –e Step ...
- windbg预览版,windbg preview配置win7x64双机调试
目录 一丶简介 二丶步骤 1.下载Windbg Preview (windbg预览版本) 2.配置虚拟机端口 3.虚拟机设置调试湍口 4.windbg preview开始调试. 一丶简介 Windbg ...
- vue、vuex、iview、vue-router报错集锦与爬坑记录
1.vue报错: 没安装 less-loader css-loader style-loader 可能的很大原因:没安装less 2.vuex报错:Computed property &qu ...
- Windbg Extension NetExt 使用指南 【3】 ---- 挖掘你想要的数据 Managed Heap
摘要 : NetExt中有两个比较常用的命令可以用来分析heap上面的对象. 一个是!wheap, 另外一个是!windex. !wheap 这个命令可以用于打印出heap structure信息. ...
- Mysql 常用 SQL 语句集锦
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- UWP学习记录9-设计和UI之控件和模式6
UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...
- 记录Office Add-in开发经验
原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com 得益于微软系强大的共通能力和Visual Studio的开发支持,做Office插件不是什么难事.一点经验记录如下 ...
随机推荐
- 多线程中Runnable 和Thread关于synchronized的疑点
学java时和同学碰到的一道题: 转自https://blog.csdn.net/qq_40857349/article/details/102809100 某公司组织年会,会议入场时有两个入口,在入 ...
- Landsat数据下载与介绍
1 数据下载 根据时间选择不同的Landsat卫星传感器 根据经纬度选择对应的条带: Lansdat Analysis Ready Data (ARD) Tile Conversion Tool: 把 ...
- [BOI2003]团伙
题目描述 1920年的芝加哥,出现了一群强盗.如果两个强盗遇上了,那么他们要么是朋友,要么是敌人.而且有一点是肯定的,就是: 我朋友的朋友是我的朋友: 我敌人的敌人也是我的朋友. 两个强盗是同一团伙的 ...
- element-ui表格合计不显示&被遮挡问题
step1:修改全局样式 .el-table{ overflow:visible !important; } .el-card__body { padding: 20px 20px 50px 20px ...
- centos安装与配置R语言
Linux下安装R语言 一.编译安装 由于采用编译安装,所以需要用到gcc编译环境,在编译前check文件时还会用到libXt-devel和readline-devel两个依赖,所以在编译R语言源码时 ...
- 两个table合并
1.两个一样的table合并用Merge函数即可合并(但要求table要有主键id) DataTable1.Merge(DataTable2); 2.没写完,以后继续补充(只有经过笔者验证,能用的才会 ...
- bootstrap 幻灯片(轮播)
<!DOCTYPE html><html><head> <meta charset="utf-8"> <titl ...
- 关于soapui如何做安全测试
1.首先安装soapui5.1.2 第一步:运行SoapUI-Pro-x32-5.1.2_576024.exe文件,按照步骤安装成功: 第二步:拷贝Protection-4.6.jar到soapui安 ...
- 测试用例覆盖率converage
当报如下错误: TypeError: 'ModuleImportFailure' object is not iterable 或者 TypeError: '_FailedTest' object i ...
- 本地git安装完成之后,从远程git服务器上面下载代码。报错SSL certificate problem:self signed certificate in certificate chain。
解决方案:打开git的控制端黑窗口,输入: git config --global http.sslVerify false 点击Entry之后,就会去掉git的ssl验证. 然后就可以正常的下载代码 ...