请问调试一个DLL都有什么方法,针对于什么情况?

院里有座山 2020-02-14 08:49:08
设置断点,我大概会了。但是如果不知道调用顺序,似乎调用断点就不太好用。

我看见有人通过函数向调试窗口写入调试信息,这个我不太会。而且不知道这种方法是不是会因为窗口切换问题,产生输入焦点改变等额外信息。

我一直都是通过在函数内插入一个写入文件的代码,不知道这种方法是正规的调试方法吗?

请问还有什么调试方法。有相关的教程书籍吗,请推荐一本。
...全文
111 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
寻开心 2020-02-14
  • 打赏
  • 举报
回复
调试和你用的编译器环境有关系,就是所说的IDE,集成开发环境,往往支持这种调试
断点除了点一下就设置的那种,还有一些高级技巧,条件断点,达到某些条件,它才会停止;还有更多的方式
你说的把调试信息写入文件,也是一种调试方法;还有更高级的呢
多屏幕调试, 一个屏幕跑程序, 一个屏幕跑代码(适合全屏幕的游戏画面)
远程调试, 一个电脑跑程序,一个电脑跑代码(适合针对不同电脑配置来调试程序)

有了断点, 能在输出窗口运行什么调试命令,还是在监视窗口查看和修改参数,看寄存器,看堆栈,看数据段等都是调试的方法,也都依赖于具体的IDE环境,不同的IDE都不一样

自己的程序,或则是要调试的程序, 是必须要知道调用顺序/执行顺序的
不知道就是做的断点不够多, 断点的先后顺序就是执行顺序,当然这个顺序和用户的操作是有关系
但是调试,就是要面对那种可以重现的错误,也即是知道按照什么方式来操作就一定能出现的错误,以此来分析出错误点
为啥测试是一个专门的职业呢,就是要把错误总结出规律来,让程序员来解决
最怕就是随机出现的错误,不确定什么时候蹦出来的错误, 那就要看经验,对整个程序代码的理解来抓了,这种很难调试
但是也要根据表现来大体的确定范围, 或者通过一些方法和技巧来不断把问题限定在更小的范围内来进行

这个话题太大, 也没明白和dll有什么关系
qybao 2020-02-14
  • 打赏
  • 举报
回复
一般的IDE都支持调试时改变变量或内存信息。复杂一点的,可以用gdb等调试工具用命令行的方式调试也可以

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧