社区
语言基础/算法/系统设计
帖子详情
如何在动态LOAD的情况下调试动态库
无聊客
2008-11-02 11:06:36
我有个程序会去动态LOAD一个动态DLL,DELPHI6的,但是现在的问题老是无法调试进DLL里面,两个代码我都有,而且编译都已经通过,EXE和DLL生成放在同一目录上,确保代码断点是加在正确的文件上,但是试了半天还是不行,EXE能调试,即使step in也无法进到DLL里面的代码去。第一次写DELPHI,请各位DELPHI高手帮忙看,不知道对于这种情况大家都怎么解决的?谢谢先!
...全文
127
13
打赏
收藏
如何在动态LOAD的情况下调试动态库
我有个程序会去动态LOAD一个动态DLL,DELPHI6的,但是现在的问题老是无法调试进DLL里面,两个代码我都有,而且编译都已经通过,EXE和DLL生成放在同一目录上,确保代码断点是加在正确的文件上,但是试了半天还是不行,EXE能调试,即使step in也无法进到DLL里面的代码去。第一次写DELPHI,请各位DELPHI高手帮忙看,不知道对于这种情况大家都怎么解决的?谢谢先!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
无聊客
2008-11-05
打赏
举报
回复
......
五维思考
2008-11-05
打赏
举报
回复
呵呵,这分给的有学问
无聊客
2008-11-05
打赏
举报
回复
终于搞定了,步骤如下:
DLL程序设置:
run->Pararneters里边设置local->Host application为调用dll的应用程序
然后开始调试DLL
调试开始以后在LoadLibrary之前打断点,注意是应用程序里
断点到了之后,View->Debug Windows->Modules,在你的exe里面右键点出菜单,选择Add Modules,然后把你调试DLL选上
到Modules list最后,找到你新加的DLL,然后右键点出菜单,选Reload Symbol table...,OK,搞定
感谢大家参与和帮顶,谢了,结帖!
xxaaee
2008-11-05
打赏
举报
回复
砸
无聊客
2008-11-04
打赏
举报
回复
再顶
无聊客
2008-11-03
打赏
举报
回复
应该不会是操作失误,各种配置都检查过,上网也搜索过无数帖子,有个帖子说了要改几个DEBUG配置,但是动态读取的话无法进入DLL调试,不知道是不是真的,所以就上来问下有没有人试过
有股想砸机器的冲动了。。。
无聊客
2008-11-03
打赏
举报
回复
顶一下
五维思考
2008-11-03
打赏
举报
回复
[Quote=引用 3 楼 yzx0023 的回复:]
谢谢楼上的回复,但是以上两种我都试过的,不行的,还是进不去
[/Quote]
如果不是你的操作错误,那你的电脑该砸了
zxjl0214
2008-11-03
打赏
举报
回复
帮顶
无聊客
2008-11-03
打赏
举报
回复
再顶
无聊客
2008-11-02
打赏
举报
回复
谢谢楼上的回复,但是以上两种我都试过的,不行的,还是进不去
五维思考
2008-11-02
打赏
举报
回复
另外,在Project Manager中把EXE和DLL都加入,并按上帖设置后,断点可以同时设在DLL和EXE中
五维思考
2008-11-02
打赏
举报
回复
在DLL中:RUN菜单-->Parameters-->Host Application中选择你的EXE程序,这样就可以在DLL中调试了
asp.net mvc中实现卷轴网格报表
asp.net mvc中实现卷轴网格报表
使用gdb对编写的
动态
库
进行
调试
中
调试
动态
库
时,你可以设置断点、观察变量的值,并逐步执行和分析
动态
库
的代码。确保在编译
动态
库
时包含
调试
信息,并在加载
动态
库
时正确设置搜索路径,以便。中设置断点以暂停
动态
库
的执行。选项来编译源代码,并生成带有
调试
符号的
动态
库
文件。编译
动态
库
:首先,确保在编译
动态
库
时包含
调试
信息。
调试
动态
库
代码:开始
调试
动态
库
代码。等命令逐步执行,查看变量的值,跟踪函数调用等。并加载
动态
库
:打开终端,输入。命令提示符下,加载
动态
库
文件。的带有
调试
符号的
动态
库
文件。结束
调试
:在
调试
完成后,使用。命令设置断点,然后使用。
动态
库
与 GDB:如何
调试
共享库(.so 文件)
然而,
调试
动态
库
往往复杂,因为它们在运行时
动态
加载,函数符号可能未绑定,甚至部分库可能被延迟加载。
动态
库
的
调试
就像乐队排练:主程序是指挥,
动态
库
是乐器。
调试
动态
库
不仅仅是找到符号和设置断点的过程,更是深入理解程序运行时
动态
链接的一个机会。
调试
动态
库
,就像解开复杂的拼图——你需要找到正确的碎片,理清它们的连接关系。为了模拟
调试
动态
库
的场景,我们创建一个简单的共享库和一个调用它的主程序。
动态
库
的符号在运行时加载,因此
调试
时需要检查符号是否正确加载。在现代软件开发中,
动态
库
(共享库。,解决程序崩溃后的问题排查。
linux下 GDB
调试
动态
链接库
> gdb <你的可执行程序> (gdb) b main # 设置入口断点 (gdb) r [可执行程序的命令行参数] # 启动
调试
(gdb)
load
<要
调试
的
动态
库
, 如 test.so> # 将
动态
库
加载入内存 (gdb) dir <要
调试
的
动态
库
的源码路径, 如 ./src> (gdb) sharedlibrary <要
调试
的
动态
库
> # 将
动态
库
的符号读入gdb,为了你能找到变量和函数名 (gdb)...
【GDB
调试
动态
库
】
gdb
调试
动态
库
进不去
语言基础/算法/系统设计
16,747
社区成员
33,239
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章