一个关于F7(单步跟踪)的问题

charlze 2003-08-20 10:28:30
进入project1.dpr的Application.Initialize后,按F7进入了Consts模块,后面还跟着很多vcl中的模块,调试无法进行,可是并没有打开Use Debug DCUs,怎样才能避免这种情况呢?请高手指教!
...全文
60 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ehom 2003-08-21
  • 打赏
  • 举报
回复
通过F7, F8的切换完全可以做到只调试特定位置的VCL代码
charlze 2003-08-21
  • 打赏
  • 举报
回复
fwjingling兄误会了,我是不想调试vcl模块,以前在xp下用F7从不进入vcl的
重新build project后也没用,我怀疑是哪项设置被改了?delphi中好像没有将设置恢复默认值的功能
charlze 2003-08-21
  • 打赏
  • 举报
回复
不一定吧,比如Application.Initialize;如果用F7,就会进入vcl模块,把你烦死,如果用F8,这一步直接跳过,怎么调试自己写的Form1的Initialize部分?
lxpbuaa 2003-08-20
  • 打赏
  • 举报
回复
fwjingling(蓝精灵) (▲▲▲▲)所说方法用来调试特定VCL代码位置代码还是蛮好的:》

—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
ehom 2003-08-20
  • 打赏
  • 举报
回复
咳~~~VCL要那么调试?那Borland真该好好反省反省了,fwjingling你还是学学楼主的Use Debug DCUs
ehom 2003-08-20
  • 打赏
  • 举报
回复
F8
lxpbuaa 2003-08-20
  • 打赏
  • 举报
回复
fwjingling(蓝精灵) (▲▲▲▲▲):
他的意图正好和你相反!!

—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
fwwxxjingling 2003-08-20
  • 打赏
  • 举报
回复
想要直接调试Vcl里的单元当然不行,不过可以采用如下方法进行:
1. 将你要调试的Vcl单元“Save as”到你自己的目录下,不要变文件名;
2. 选择 Add Project把您刚存的文件加入到Preoject里。
3. Ok, 按 F7 开始调试吧...
lxpbuaa 2003-08-20
  • 打赏
  • 举报
回复
不会啊,你选择Project->Build Project再看看

—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
首先,查壳,使用PEID或者是FI,为UPX v1.08 接下来用OD载入,提示为“压缩代码是否继续分析”,我们选择否 我在这里介绍几种方法,请看我的操作。 方法1:单步跟踪(最常见的方法) 0040E8C0 N> 60 pushad //停在这里了,我们F8单步 0040E8C1 BE 15B04000 mov esi,NOTEPAD.0040B015 0040E8C6 8DBE EB5FFFFF lea edi,dword ptr ds:[esi+FFFF> 0040E8CC 57 push edi 0040E8CD 83CD FF or ebp,FFFFFFFF 0040E8D0 EB 10 jmp short NOTEPAD.0040E8E2 //跳 。。。。。。。。。。 0040E8E2 8B1E mov ebx,dword ptr ds:[esi] //跳到这里,继续单步 0040E8E4 83EE FC sub esi,-4 0040E8E7 11DB adc ebx,ebx 0040E8E9 ^ 72 ED jb short NOTEPAD.0040E8D8 //这里要往回跳了 0040E8EB B8 01000000 mov eax,1 //F4,然后继续F8 0040E8F0 01DB add ebx,ebx 0040E8F2 75 07 jnz short NOTEPAD.0040E8FB //跳 。。。。。。。。。。。 0040E8FB 11C0 adc eax,eax //来到这里,F8继续 0040E8FD 01DB add ebx,ebx 0040E8FD 01DB add ebx,ebx 0040E8FF ^ 73 EF jnb short NOTEPAD.0040E8F0 0040E901 75 09 jnz short NOTEPAD.0040E90C //跳 。。。。。。。。。。。 0040E90C 31C9 xor ecx,ecx //跳到这里,继续F8 0040E90E 83E8 03 sub eax,3 0040E90E 83E8 03 sub eax,3 0040E911 72 0D jb short NOTEPAD.0040E920 //跳 。。。。。。。。。。。 0040E920 01DB add ebx,ebx //跳到这里,继续F8 0040E922 75 07 jnz short NOTEPAD.0040E92B //跳 。。。。。。。。。。。 0040E92B 11C9 adc ecx,ecx //跳到了这里,继续F8 0040E92D 01DB add ebx,ebx 0040E92F 75 07 jnz short NOTEPAD.0040E938 //跳 。。。。。。。。。。。 0040E938 11C9 adc ecx,ecx //跳到这里,继续F8 0040E93A 75 20 jnz short NOTEPAD.0040E95C //跳 。。。。。。。。。。。 0040E95C 81FD 00F3FFFF cmp ebp,-0D00 //来到这,继续F8 0040E962 83D1 01 adc ecx,1 0040E965 8D142F lea edx,dword ptr ds:[edi+ebp] 0040E968 83FD FC

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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