单步调节和测试DLL澳门威尼斯人网址,利用VS二零零七实行dump文件调节和测试

不经常我们从第三方下载DLL库之后,在行使VS进行调节和测试时如故很麻烦的,今后自己总计一下,在支付过进程中调节和测试DLL的法门,希望对各位在付出中有帮扶。

Require source files to
exactly match the original version的复选就行了。

5 这时你的DLL自动增多到进程中

三、       常见难点研讨

澳门威尼斯人网址 1

 

澳门威尼斯人网址 2

澳门威尼斯人网址 3

4 选拔需求调养的DLL,将它原来的PDB文件删除

l         Start to
Debug the Dump File

澳门威尼斯人网址 4

l         Set Source code
path

澳门威尼斯人网址 5

 

1 VS下载插件.Net Refector

Click
Tools/Options, Debugging/Symbols,扩大PDB文件路线。若调节和测试的先后须求微软基础库的PDB音讯,能够追加叁个渠道为:

6 现行反革命你就能够展开单步的DLL调节和测试了

如若DMP文件并未有放入本人PDB文件所在目录,也足以在那边扩张三个本地目录。点OK后,VS二〇〇五将从互联网中下载所供给的Symbols,供给静观其变一段时间。若是是频仍调节和测试同一个主次不当所生成的DMP文件,能够在对话框中挑选“Search the
above locations only when symbols are loaded manually”。从而得以节约网络带宽。

3 开启Refector的调试dll功能

3、  常见难题斟酌

2
引用你的DLL,或然选取Nuget安装你的第三方DLL,注意供给您的DLL不要有PDB文件,因为反射调试时会生成新的

澳门威尼斯人网址 6

PDB files
contains all debug information like type definition and function
prototype. When
application crashes, we need the PDB files to analyze the root cause, so
make sure these PDB files will be created when building it. You must
do the following setting:

Open Solution Property
Pages and set the source code path.

图1.4 Symbol
Path

5、  小编用的是VS2007,明明有源代码,为啥来得不断?

In this
simple application, there is an unhandled Access Violation Reading
exception, because GetNameFromDatabase returns a NULL pointer, and this
pointer is passed into IsPrefix and then it’s used directly without NULL
pointer checking.

本身要好的DLL都有了,不过缺的是系统的DLL的照拂PDB文件咋办?图1.4中已经介绍了措施。微软在它的符号数据库上为大家提供了装有的PDB文件,还或许有一部分非关键DLL。设置好后先后将活动下载供给的PDB及DLL文件。

 

l         Start
Visual Studio.Net

 

Click File/Open
Solution and make
sure the files of type is *.dmp then click Open.

实际上那么些题目也很好消除,只要它不阻碍阅读货仓,就不要管它,调试Dump和平运动作程序不平等,贫乏一五个DLL未有其它难点。

图1.1 调节和测试音信格式

Linker/Debugging/Generate Program Database
File=”Name and location of your PDB files”

 

在分界面下方Cache
Symbol From symbol…接纳本地存款和储蓄这么些Symbols的门道。

图1.2 PDB文件输出路径

图1.5 属性菜单

l         Set Symbol
Path

大概你要问,怎么或然,那么些dump文件可是用户发放本身的,笔者不容许去用户家里调节和测试吧?那么些苏醒现场可不是指的非要到那台机械上去,而是要把发生dump文件对应的二进制文件得到。

澳门威尼斯人网址 7

若果客户用了有些特殊的补丁如何做?

 

假诺您丢失了那一个通知版本中你编写翻译出来的那多少个exe和DLL的PDB,那么这几个损失是惨重的,重新编译出来的版本是不可能应用的。

调度时,全数的PDB文件和源文件必须从严相配(the PDB
files should be the one generated by build the source
code),并累积在三个安全的岗位。当客户告知了一个不当时,你供给那个文件来支援以便定位错误于源代码中并缓慢解决难题。

澳门威尼斯人网址 8

 

图1.7 调节和测试窗口,定位到源代码

图1.3 Open
Dump File (GUI)

利用Release形式编写翻译该测试程序,在客户机上运营该程序,将依附NTSD设置生成相对应的DMP格式文件。

2、  如何回复及时的当场?

 

 

可是还原现场索要有所的二进制文件都要相应,你势必要有导致用户崩溃的那八个Exe和DLL。既然是您公布的次第,Exe文件当然你会有。所以这里只考虑DLL就行了。

4、  获得供给的文本了,这么些文件应当放在哪个地方?

标志数据库中的文件不用动,把任何的exe和DLL、PDB文件放在dump文件目录里就行了。

澳门威尼斯人网址 9

举例未有标识文件,那么调节和测试的时候可能导致货仓错误。

前言:利用drwtsn32或NTSD进行程序崩溃管理,都足以生成可用于调节和测试的dmp格式文件。使用VS2006开爆发成的DMP文件,能很平价的找寻BUG所在地点。本文将研商以下内容:

3、  假使确实供给怎么做?

Dump文件中著录了具有DLL文件的版本号和时间戳,所以您料定能够同过某种路子得到它。假若你能从用户这里得到最佳,假使不便于,用户不可能用的是我们日常一时用的操作系统,所以找个有对应系统的机械一般都会有。可是切记不仅仅是文件名称要平等,还要核查版本和时间戳,倘诺不一样同样未有艺术用。

1、  Dump文件放在哪里?

2、  利用VS2005 分析dump文件

PDB文件路线最佳设置在同一个文书夹中,那样便于dmp文件调节和测试时调用。

图1.6 Debug Source
Files

Dump文件不用非要放在你编写翻译出来的职位,你完全能够创设三个新的文书夹来放它。但若不是存放在编写翻译出来的岗位,须求将编写翻译生成的PDB文件拷贝到Dump文件目录,或是利用VS二零零五展开Dump文件后,设置PDB文件路线。参照图1.4。

http://msdl.microsoft.com/download/symbols

1、  程序编写翻译选项

澳门威尼斯人网址 10

能够利用Visual
Studio.Net、NTSD或是别的的调节和测试工具对DMP格式文件举行分析。

Click the Debug menu, it
will ask you to save as a solution, save it. Then it will go to the line
which caused the crash of your application.

 

C/C++/General/Debug
Information Format=Program Database (/Zi).

标识文件未来注重是指PDB文件。

澳门威尼斯人网址 11

二、       VS2005 分析dump文件

一、       程序编写翻译选项

图1.3 演示代码

Tools/Options,Debugging/General中去掉

澳门威尼斯人网址 12

其一是dump调节和测试的最头疼难点,代码大概早已改过了,尽管你从SVN得到当时的版本,时间戳也是错的,VS二零零六正是不令你来得代码。其实只要在

相关文章