-
Win7系统中使用WinDbg与虚拟机调试驱动程序的操作方法和要点(14)
- 作者:宋惜瑶 分类:win7 发布时间:2017-10-12 21:37:56
使用以下的步骤来分析一个转储文件: (1、在WinDbg内,通过 File-》’Open Crash Dump’, 指向转储文件。 (2、WinDgb会给你显示应用程序崩溃之时所执行的指令...
使用以下的步骤来分析一个转储文件:
(1、在WinDbg内,通过 File-》’Open Crash Dump’, 指向转储文件。
(2、WinDgb会给你显示应用程序崩溃之时所执行的指令。
(3、正确设置你的符号文件目录和源代码目录。如果你不能够匹配正确的符号文件,想要弄清楚程序的逻辑是非常困难的。如果你能够把符号文件匹配到正确版本的源代码,这是就应该很容易分析出Bug原因。注意,私有符号文件含有行号信息并且会盲目的显示你源代码中的对应行而不进行任何的检查;如果你的源码版本不对,那么你就不能够看到匹配汇编代码的正确源码。如果你仅仅有公有的符号文件,你会看到最后一个被调用的函数(栈上的)。
注意调试驱动或者托管代码是与此有很大不同的。参考《The Windows 2000 Device Driver Book》来获得调试设备驱动的技术。
WinDbg的常用设置
符号文件与文件夹
如果想更有效的调试,你需要符号文件。符号文件可以是老式的COFF格式或者就是PDB格式。PDB就是程序数据库文件并且包含了公有符号。这些调试器内,你可以使用一系列的地址来让调试器寻找已经加载的二进制文件的符号。
操作系统的符号文件一般存储在%SYSTEMDIR%Symbols目录。驱动程序的符号文件(.DBG或.PDB)一般存储在和驱动文件(.sys 文件)相同的目录下。私有符号文件包含的信息包括:函数,局部以及全局变量,以及用来把汇编代码和源代码关联起来的行号信息;对于客户来说,符号文件一半是公有的-这些文件仅仅包括公有成员。
你可以通过File-Symbol File Path来设置符号文件目录,或者使用 .sympath命令。如果想要添加到网络上符号文件的引用,添加以下的内容到你的 .sympath
SRV*downstream_store*http://msdl.microsoft.com/download/symbols
使用的命令就是:
.sympath+ SRV*c:/tmp*http://msdl.microsoft.com/download/symbols
C:/tmp就是download_store,所需要的符号文件会被下载存储至此。注意这个符号服务器仅仅开放了公有的符号文件。
当调试器把一个二进制文件(DLL或exe)的时候,他会检查比如文件名,时间戳以及校验值。如果你有符号信息,你就可以在调用栈上看到函数名和他们的参数。如果二进制文件和PDB文件都来自于你自己的应用程序,你就可以看到比如私有函数,局部变量以及类型这类额外的信息。
源代码路径
你可以通过File-》Source File Path来设置源码路径,或者使用.srcpath命令。如果你设置了代码的路径,当你调试的时候,调试器会通过PDB文件的行号信息来显示相匹配的源代码。
断点,跟踪
· 通过bp命令或者工具栏上的断点图片来设置软断点。
· 通过代码比如DbgBreakPoint() 或者 KdBreakPoint()来设置硬断点。
· 在扩展DLL中使用跟踪函数DbgPrint, KdPrint, OutputDebugString 来把输出显示在WinDbg的输出窗口中。
后语:
以上所述Win7系统中使用WinDbg与虚拟机调试驱动程序的方法和要点详尽至极,该篇文章涉入专业知识较深,如果你看不太懂,可以收藏起来,等待知识量充实之后细读此文,笔者看来,分崩离析的方案反而给予更好的查询方式,有需要可以参考。本文到此结束。
猜您喜欢
- Win7笔记本小技巧:如何关闭触摸板,..2024-04-30
- win7安全证书过期,如何轻松解决?快..2024-04-30
- Win7本本无线网络不显示?这5招轻松解..2024-04-29
- windows7开机密码遗忘?别急,教你轻松..2024-04-29
- Win7电脑锁屏壁纸轻松换,让你的Wind..2024-04-29
- win7电脑开机无法进入桌面?看这里,..2024-04-29
相关推荐
- Win7浏览器老是自动弹出网页怎么处理..2021-04-08
- Win7系统下文件夹无法拖动?这些方法..2024-01-23
- Win7按Ctrl+Alt+Del打不开任务管理器怎么..2022-09-28
- Win8.1系统安装Adobe Photoshop Express的方法..2021-05-19
- pp助手安装app旧版本根本安装不了 sa..2022-04-18
- win7系统玩不了英雄无敌3怎么办?win..2022-11-03