社区
Delphi
帖子详情
为什么我的DLL里运行时不能单步跟踪?
liqing7165
2006-09-20 08:09:45
晕!能运行,但是不能跟踪。
...全文
185
7
打赏
收藏
为什么我的DLL里运行时不能单步跟踪?
晕!能运行,但是不能跟踪。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sdzeng
2006-09-20
打赏
举报
回复
要在Delphi里调试Dll,可以按照前面提的给Dll指定一个宿主程序
然后用Run运行宿主程序
如果你没有指定宿主程序,Delphi环境会提示错误,并要求你设置宿主程序
lijinghe1
2006-09-20
打赏
举报
回复
这个问题分很多种情况,还没解决的话吱一声
gw_delphi
2006-09-20
打赏
举报
回复
1.Run->Parameters->HostApplication 点Browse选择你调Dll的EXE程序
2.Ctrl + F9 编译
3.打好断点按F8 或 F7 跟踪
注:有时候编译过后需要关闭Delphi重新再打开 才能进断点
灯草拐杖
2006-09-20
打赏
举报
回复
我这里可以的,按F7
sdzeng
2006-09-20
打赏
举报
回复
dll能运行?
不知道你怎么运行的
postren
2006-09-20
打赏
举报
回复
dll的调试要在dll的工程中做老之那样的设置
在调用dll的工程中是不能调试dll中的内容的
老之
2006-09-20
打赏
举报
回复
在Run->Parameters->HostApplication里选好调用DLL的EXE文件,按F7就可以调试了。
vc++6.0调试方法 还包括一些编译基础知识
调试程序可以帮助了解程序是怎样
运行
的。 1、如何快速地规范代码缩进格式 选中所需要规范的代码,按shift+F8 2、如何在Release状态下进行调试 Project->Setting…->Project Settings对话框,选择Release状态。“C/C++”标签页中的Category选General,Optimizations选Disable(Debug),Debug info选Program Database。在“Link”标签页中选中Generate debug info复选框。 注:只是一个介乎Debug和Release的中间状态,所有的ASSERT、VERIFY都不起作用,函数调用方式已经是真正的调用,而不查表,但是这种状态下QuickWatch、调用队列
跟踪
功能仍然有效,和Debug版一样。 3、Release和Debug有什么不同。 Release版称为发行版,Debug版称为调试版。 Debug中可以
单步
执行、
跟踪
等功能,但生成的可执行文件比较大,代码
运行
速度较慢。Release版
运行
速度较快,可执行文件较小,但在其编译条件下无法执行调试功能。 Release的exe文件链接的是标准的MFC
DLL
(Use MFC in a shared or static
dll
),比如MFC42.
DLL
。这些
DLL
在安装Windows的
时
候,已经配置,所以这些程序能够在没有安装Visual C++ 6.0的机器上
运行
。而Debug版本的exe链接了调试版本的MFC
DLL
文件,如MFC42D.
DLL
。在没有安装Visual C++6.0的机器上
不能
运行
,因为缺MFC42D.
DLL
等,除非选择use static
dll
when link。 4、ASSERT和VERIFY有什么区别 ASSERT
里
面的内容在Release版本中不编译,VERIFY
里
面的内容仍然编译,但不再判断真假。所以后者更安全一点。 例如ASSERT(file.Open(strFileName)),一旦到了Release版本中,这一行就忽略了,file根本就不Open()了,而且没有任何出错的信息。如果用VERIFY()就不会有这个问题。 5、Workspace和Project之间是什么样的关系 每个Workspace可以包括几个project,但只有一个处于Active状态,各个project之间可以有依赖关系,在project的Setting…中可以设定,比如那个Active状态的project可以依赖于其他的提供其函数调用的静态库。 6、如何在非MFC程序中使用ClassWizard 在工程目录下新建一个空的.RC文件,然后加入到工程中就可以了。 7、如何设置断点 按F9在当前光标处增加一个断点和取消一个断点。 另外,在编辑状态下,按Ctrl+B组合键,弹出断点设置对话框。然后单击【Condition…】按钮弹出设置断点条件的对话框进行设置。 8、在编辑状态下发现成员变量或函数
不能
显示提示,如何打开显示功能 这似乎是目前这个Visual C++ 6.0版本的一个bug,可按如下步骤使其正常,如再出现,可如法炮制: (1)关闭Project,(2)删除“工程名.ncb”文件,(3)重新打开工程
TTProtect
TTProtect是专为软件开发者设计的保护软件不被非法修改或反编译的专业加密软件。
TTProtect是新一代软件保护工具,吸收众多保护工具的优点,并加入了独有的特色功能。
TTProtect使用了特别的反
跟踪
方法,使得对保护对象的非法调试非常困难,并且对保护代码进行全局优化、乱序和混淆,使得非法分析相当困难。
TTprotect有哪些功能和特点
调试器检测 能够检测出大部分调试器。
反调试器附加 防止应用程序在
运行
中被非法附加调试器。
调试寄存器解码 使得调试器无法使用硬件断点,也难以
单步
调试。
代码乱序和混淆 在保证了执行速度的基础上,又使得代码难以理解。
虚拟机模拟执行 有效保护关键代码不被察看、分析和修改。
高强度API加密 有效保护引用的api,并且使导入表难以恢复。
高强度入口加密 有效加密应用程序入口代码,防止被脱壳。
强化的代码抽取 抽取应用程序中的代码在壳中执行,使得应用程序难以脱壳执行。
资源保护 防止应用程序资源被非法修改。
多线程保护 在
运行
过程中保护应用程序的安全。
Dll
嵌入 将
Dll
嵌入到应用程序中执行,防止
Dll
被非法调用,有效防止应用程序被脱壳。
段分割 将应用程序在内存中分成若干块执行,防止
跟踪
和脱壳。
代码段保护 防止在
运行
中,非法修改应用程序的代码段。
密码保护 必须输入密码才能执行应用程序。
TTProtect SDK 能使开发者自主保护特定代码。
反补区段 使补区段的代码无法正确执行。
API模拟执行 模拟执行一部分API,使导入表难以恢复。
防止文件补丁 防止应用程序文件被非法修改。
防止LPK补丁 有效防止LPK.
dll
的注入。
《C语言/C++学习指南》
单步
调试视频教学
单步
调试是程序员的一门技术,它用于地定位代码中的问题。本教程介绍了错误的分类,定位问题的基本思路、操作作法,并在后介绍了针对大型程序的调试方法:单元测试。所有初学者都应该尽早地掌握这门技术。(前2节免费)
ttprotect 106加壳软件
TTProtect是专为软件开发者设计的保护软件不被非法修改或反编译的专业加密软件。 TTProtect是新一代软件保护工具,吸收众多保护工具的优点,并加入了独有的特色功能。 TTProtect使用了特别的反
跟踪
方法,使得对保护对象的非法调试非常困难,并且对保护代码进行全局优化、乱序和混淆,使得非法分析相当困难。 TTprotect有哪些功能和特点 调试器检测 能够检测出大部分调试器。 反调试器附加 防止应用程序在
运行
中被非法附加调试器。 调试寄存器解码 使得调试器无法使用硬件断点,也难以
单步
调试。 代码乱序和混淆 在保证了执行速度的基础上,又使得代码难以理解。 虚拟机模拟执行 有效保护关键代码不被察看、分析和修改。 高强度API加密 有效保护引用的api,并且使导入表难以恢复。 高强度入口加密 有效加密应用程序入口代码,防止被脱壳。 强化的代码抽取 抽取应用程序中的代码在壳中执行,使得应用程序难以脱壳执行。 资源保护 防止应用程序资源被非法修改。 多线程保护 在
运行
过程中保护应用程序的安全。
Dll
嵌入 将
Dll
嵌入到应用程序中执行,防止
Dll
被非法调用,有效防止应用程序被脱壳。 段分割 将应用程序在内存中分成若干块执行,防止
跟踪
和脱壳。 代码段保护 防止在
运行
中,非法修改应用程序的代码段。 密码保护 必须输入密码才能执行应用程序。 TTProtect SDK 能使开发者自主保护特定代码。 反补区段 使补区段的代码无法正确执行。 API模拟执行 模拟执行一部分API,使导入表难以恢复。 防止文件补丁 防止应用程序文件被非法修改。 防止LPK补丁 有效防止LPK.
dll
的注入。
TTProtect 加壳软件1.01
什么是TTProtect? TTProtect是专为软件开发者设计的保护软件不被非法修改或反编译的专业加密软件。 TTProtect是新一代软件保护工具,吸收众多保护工具的优点,并加入了独有的特色功能。 TTProtect使用了特别的反
跟踪
方法,使得对保护对象的非法调试非常困难,并且对保护代码进行全局优化、乱序和混淆,使得非法分析相当困难。TTprotect有哪些功能和特点调试器检测 能够检测出大部分调试器。反调试器附加 防止应用程序在
运行
中被非法附加调试器。调试寄存器解码 使得调试器无法使用硬件断点,也难以
单步
调试。代码乱序和混淆 在保证了执行速度的基础上,又使得代码难以理解。虚拟机模拟执行 有效保护关键代码不被察看、分析和修改。高强度API加密 有效保护引用的api,并且使导入表难以恢复。高强度入口加密 有效加密应用程序入口代码,防止被脱壳。强化的代码抽取 抽取应用程序中的代码在壳中执行,使得应用程序难以脱壳执行。资源保护 防止应用程序资源被非法修改。多线程保护 在
运行
过程中保护应用程序的安全。
Dll
嵌入 将
Dll
嵌入到应用程序中执行,防止
Dll
被非法调用,有效防止应用程序被脱壳。段分割 将应用程序在内存中分成若干块执行,防止
跟踪
和脱壳。代码段保护 防止在
运行
中,非法修改应用程序的代码段。密码保护 必须输入密码才能执行应用程序。TTProtect SDK 能使开发者自主保护特定代码。反补区段 使补区段的代码无法正确执行。API模拟执行 模拟执行一部分API,使导入表难以恢复。防止文件补丁 防止应用程序文件被非法修改。防止LPK补丁 有效防止LPK.
dll
的注入。
Delphi
5,392
社区成员
262,732
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章