Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

WinDbg

帖子发起人: 文竹   发起时间: 2008-10-14 21:04 下午   回复: 41

Print Search
帖子排序:    
   2008-10-14, 21:04 下午
wenzhu676 离线,最后访问时间: 2010/2/4 9:49:51 文竹

发帖数前75位
注册: 2008-10-09
发 贴: 17
Re: 怎么写windbg的扩展命令?
Reply Quote
问题全部解决了,打扰大家了,哈哈!
谢谢大家关注~~
IP 地址: 已记录   报告
   2008-10-15, 08:42 上午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 怎么写windbg的扩展命令?
Reply Quote
上面的错误是说找不到文件'engextcpp.hpp',这是第三种方式(EngCpp)所定义框架的头文件,位于sdk\inc目录中。因此你应该将sdk\inc目录放到头文件路径中。
IP 地址: 已记录   报告
   2008-10-15, 09:02 上午
wenzhu676 离线,最后访问时间: 2010/2/4 9:49:51 文竹

发帖数前75位
注册: 2008-10-09
发 贴: 17
Re: 怎么写windbg的扩展命令?
Reply Quote
Raymond ,你好!我很敬畏您的技术~能不能留下你的联系方式~;以便能即时请教!


IP 地址: 已记录   报告
   2008-10-15, 09:07 上午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 怎么写windbg的扩展命令?
Reply Quote
文竹,在这个页面上有我的email地址: http://advdbg.org/books/swdbg/feedback.aspx
IP 地址: 已记录   报告
   2008-10-15, 09:09 上午
wenzhu676 离线,最后访问时间: 2010/2/4 9:49:51 文竹

发帖数前75位
注册: 2008-10-09
发 贴: 17
Re: 怎么写windbg的扩展命令?
Reply Quote
不好意思,很冒昧的问你用即时聊天工具~qq、msn!由于我最近正在学习windbg,有您这样一位老师指导,对我来说很荣幸!
IP 地址: 已记录   报告
   2008-10-30, 21:46 下午
zhzhtst 离线,最后访问时间: 2009/12/24 16:16:10 zhzhtst

发帖数前200位
注册: 2007-02-10
发 贴: 5
Re: 怎么写windbg的扩展命令?
Reply Quote
The Build utility is usually not able to compile code that is located in a directory path containing spaces. Your extension code should be located in a directory whose full path contains no spaces. (In particular, this means that if you install Debugging Tools for Windows to the default location — Program Files\Debugging Tools for Windows — you will not be able to build the sample extensions.)

IP 地址: 已记录   报告
   2009-01-05, 16:08 下午
liuyjpdc 离线,最后访问时间: 2009/7/9 9:27:06 liuyjpdc

发帖数前75位
注册: 2009-01-05
发 贴: 14
Re: 怎么写windbg的扩展命令?
Reply Quote
各位好,看了你们的对话,感觉理解了很多,但是我的还是不行哈.
我的LBR总出现这个问题...
\practice\lbr\lbr.cpp(39) : error C2491: 'nLBR' : definition of dllimport data not allowed
\practice\lbr\lbr.cpp(43) : error C2491: 'fnLBR' : definition of dllimport function not allowed
IP 地址: 已记录   报告
   2009-01-05, 16:10 下午
liuyjpdc 离线,最后访问时间: 2009/7/9 9:27:06 liuyjpdc

发帖数前75位
注册: 2009-01-05
发 贴: 14
Re: 怎么写windbg的扩展命令?
Reply Quote
我想写一个dll来对部api函数打断点,希望大家指教一下....谢谢
IP 地址: 已记录   报告
   2009-01-05, 22:14 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 怎么写windbg的扩展命令?
Reply Quote

 liuyjpdc wrote:
各位好,看了你们的对话,感觉理解了很多,但是我的还是不行哈. 我的LBR总出现这个问题... \practice\lbr\lbr.cpp(39) : error C2491: 'nLBR' : definition of dllimport data not allowed \practice\lbr\lbr.cpp(43) : error C2491: 'fnLBR' : definition of dllimport function not allowed

不知道你是怎么编译的,VC几,命令行还是IDE?这个错误是因为没有定义LBR_EXPORTS标志。

#ifdef LBR_EXPORTS
#define LBR_API __declspec(dllexport)
#else
#define LBR_API __declspec(dllimport)
#endif

使用IDE编译时,项目属性里已经设置好了。


 

 


IP 地址: 已记录   报告
   2009-01-06, 18:12 下午
neilhsu 离线,最后访问时间: 2009/12/23 17:02:23 手语

发帖数前10位
男
注册: 2008-06-06
发 贴: 73
Re: 怎么写windbg的扩展命令?
Reply Quote
好像阿
那个路径里不能有空格的
你把代码从安装目录考到根目录下某个不带空格的目录再编译试试

我也写扩展DLL
个人感觉还是DbgEng方式的比较顺手
例子可以看Exts
鸿鹄安知燕雀之志
IP 地址: 已记录   报告
   2009-01-06, 18:31 下午
neilhsu 离线,最后访问时间: 2009/12/23 17:02:23 手语

发帖数前10位
男
注册: 2008-06-06
发 贴: 73
Re: 怎么写windbg的扩展命令?
Reply Quote
建议先把某个Sample编译过
然后在这个Sample框架基础上增加一些功能
慢慢就简单了
鸿鹄安知燕雀之志
IP 地址: 已记录   报告
   2009-01-07, 10:03 上午
liuyjpdc 离线,最后访问时间: 2009/7/9 9:27:06 liuyjpdc

发帖数前75位
注册: 2009-01-05
发 贴: 14
Re: 怎么写windbg的扩展命令?
Reply Quote
谢谢各位的指点,现在我的程序能编译过了
但是当我想传几个参数的时候又遇到问题了,我得写一个dll把指定内存中的值读到指定的文件上,
命令如 !read xxx number place .
把内存地址为xxx的number大小字节的数据放到指写的文件place上.
我现在只能传入xxx的值,用GetExpression(args)(参照sdk中的例子),但是number和place不知道该怎样传入了,它们为args[1],args[2]吗,当我把它们显示出来的时候又不对了..
希望得到大家的指点...
IP 地址: 已记录   报告
   2009-01-07, 13:04 下午
neilhsu 离线,最后访问时间: 2009/12/23 17:02:23 手语

发帖数前10位
男
注册: 2008-06-06
发 贴: 73
Re: 怎么写windbg的扩展命令?
Reply Quote
扩展命令原型中args参数都是PCSTR的
PCSTR args
所有参数都在一个字符串里
需要自己解析
鸿鹄安知燕雀之志
IP 地址: 已记录   报告
   2009-01-07, 13:06 下午
neilhsu 离线,最后访问时间: 2009/12/23 17:02:23 手语

发帖数前10位
男
注册: 2008-06-06
发 贴: 73
Re: 怎么写windbg的扩展命令?
Reply Quote
参考帮助
Args
Specifies the arguments passed to the extension command. In particular, if the extension command was called from a command line, Args contains the rest of the command line. It can be NULL or empty.

其实WinDBG的帮助写得挺详细了,多读读就明白了。
鸿鹄安知燕雀之志
IP 地址: 已记录   报告
   2009-01-07, 14:04 下午
liuyjpdc 离线,最后访问时间: 2009/7/9 9:27:06 liuyjpdc

发帖数前75位
注册: 2009-01-05
发 贴: 14
Re: 怎么写windbg的扩展命令?
Reply Quote
能不能讲明白一点啊,我显示args,args[0],args[1],args[2].....都不是我输入进去的参数啊...
能不能讲讲它的存储方式是什么啊,是第一个参数在args[0]中,第二个以至类推.还是其他的呢...还有它的格式是什么呢...args是个指针吗?
IP 地址: 已记录   报告
  总页数 2 第 3 页 [共有 42 条记录] < 1 2 3 >
高端调试 » 软件调试 » WinDbg » Re: 怎么写windbg的扩展命令?

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.