如何在程序启动的时候将调试器附加上去
来源:互联网 发布:99乘法表算法 编辑:程序博客网 时间:2024/04/30 17:28
可能有人会对这个问题有一些争议,因为大部分情况下我们只需要在调试器(Debugger)里面直接启动被调试程序(Debuggee)就可以在程序启动前调试程序了。
但有些情况下,你是不能控制被调试程序(Debuggee)在什么时候启动的。例如在DCOM环境里面,DCOM客户端(Client)可以通过调用CoCreateInstanceEx(…, CTX_LOCAL_SERVER, …)启动DCOM服务器(Server),启动DCOM服务器的过程是在COM库中进行的, 你没有办法将在DCOM服务器的WinMain函数之前将你的调试器附加(Attach)上去。Windows提供了一个功能就是在一个程序启动的时候,自动将设置好的调试器附加到这个新启动的程序上去。这里我就是要介绍这个功能:
1. 打开注册表编辑器(regedit.exe).
2. 找到键值HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Image File Execution Options/。
3. 新建一个键(Key),键名就是你要调试的程序的文件名,例如notepad.exe。
4. 然后在这个新建的键值(Key)下,在我们的例子里,这个键值是notepad.exe。新建一个字符串值(String Value)Debugger,值设置为你喜欢的调试器,例如c:/debuggers/windbg.exe。
你可以用下面的注册表脚本完成上面的工作:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Image File Execution Options/notepad.exe] "Debugger"="c://debuggers//windbg.exe" |
设置好了以后,运行notepad.exe看看有什么结果?
- 如何在程序启动的时候将调试器附加上去
- MSDE安装时如何将已有的数据库附加上去并启动服务?
- 如何在程序启动的时候自动挂接Debugger
- 如何在程序启动的时候自动挂接Debugger
- 如何在程序启动的时候自动挂接Debugger
- C#开发的程序如何在运行的时候弹出选择调试器的代码
- 程序有一个调用打印机的功能,在调试的时候可以用,用tomcat部署上去了之后就不能打印了····
- 关于编写程序的时候调试系统附加的调试信息
- 我是如何将关键词“SEO”上去的
- VS2010启动调试时报“未能将脚本调试器附加到计算机”
- IE升级到10.0,VS2010启动调试时报“未能将脚本调试器附加到计算机..”
- gdb附加程序的时候失败
- 如何在程序启动的时候去完成View 的测量
- 如何让AIX在启动和停机的时候自动运行一些命令和程序?
- 安装IE10以后,VS2010启动时提示 未能将脚本调试器附加到计算机
- vs2010 未能将脚本调试器附加到计算机上的进程。已附加了一个调试器
- vs2010 未能将脚本调试器附加到计算机上的进程。已附加了一个调试器
- vs2010未能将脚本调试器附加到计算机上的进程。已附加了一个调试器
- ACID
- 视频压缩和格式转换软件的使用经验
- 在报表中打印固定行(不足时补充空行)----使用fastreport 4.6 和 Delphi 7
- 程序开发认识变迁
- machine learning
- 如何在程序启动的时候将调试器附加上去
- java编程陷阱
- Telecommunications and Data Communications Handbook
- 关于“Google公司创新技术和产品不断推陈出新的背后动力”报告
- OSWorkflow: A guide for Java developers and architects to integrating open-source Business Process M
- 几个SQL 的实例
- Networking with Microsoft Windows Vista: Your Guide to Easy and Secure Windows Vista Networking
- 高兴
- Final Cut Pro Workflows: The Independent Studio Handbook