
软件调试
dadalan
这个作者很懒,什么都没留下…
展开
-
调试的一点心得
在调试程序的时候,代码的模块化很容易确定出错的准确位置,所以在这里我建议各位写代码的时候最好能代码模块化,功能单一化,减少全局,静态变量,这样当一个程序出错的时候能很准确的定位在某条语句,找到对应的代码后,首先检查这条语句是不是有参数,如果有参数首先检查参数,接着在向上找,主要是找参数是否合法。原创 2008-12-30 18:28:00 · 857 阅读 · 0 评论 -
Debug和Release设置区别
Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M)。至于是否需要DLL支持,主要看你采用的编译选项。如果是基于ATL的,则Debug和Release版本对DLL的要求差不多。如果采用的编译选项为使用MFC动态库,则需要MFC42D.DLL等库支持,而Release版本需要MFC42.DLL支持。Release Build不对源代码进行调试,不考虑MFC的诊断宏,使原创 2009-01-12 10:48:00 · 1964 阅读 · 1 评论 -
GDB常用命令
命令 解释break NUM 在指定的行上设置断点。bt 显示所有的调用栈帧。该命令可用来显示函数的调用顺序。clear 删除设置在特定源文件、特定行上的断点。其用法为:clear FILENAME:NUM。continue原创 2009-01-12 11:52:00 · 944 阅读 · 0 评论 -
关于未知dll函数参数的获取问题!
通常我们用IDA反编译dll得到信息!我看过一篇文章,是说通过以下几种方法: 1。先打开需要分析的DLL,然后通过菜单功能-》出口来找到需要分析的函数,双击就可以了。它可以直接定位到该函数。 2。看准该函数的入口,一般函数是以以下代码作为入口点的。 push ebp mov ebp, esp ... 3。然后往下找到该函数的出口,一般原创 2008-12-20 04:53:00 · 2130 阅读 · 0 评论 -
函数调用约定解析 汇编解析
http://c.chinaitlab.com/cc/ccjq/200806/752297.html转载 2008-12-20 04:09:00 · 870 阅读 · 0 评论 -
栈的规则
用IDA打开这个DLL,在每个函数中IDA会列出参数和局部变量.偏移量为正的是参数,负的是局部变量.正的意思就ebp+XX.负是ebp-XX.原创 2008-12-20 04:55:00 · 1114 阅读 · 0 评论 -
怎样获取未知DLL的接口参数
http://www.zxbc.cn/html/20080104/30985.html转载 2008-12-20 05:12:00 · 893 阅读 · 0 评论