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
 
  易内核
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号

Windows内核调试

帖子发起人: Abstr   发起时间: 2016-03-03 10:58 上午   回复: 2

Print Search
帖子排序:    
   2016-03-03, 10:58 上午
Abstr 离线,最后访问时间: 2016-10-9 8:03:06 Abstr

发帖数前50位
注册: 2014-11-05
发 贴: 22
自定义内核调试器性能问题
Reply Quote
我自己用DbgEng.dll导出的api写了一个内核调试器,使用VMWare双机调试的模式,我尝试在某个驱动文件中下断后,可以正常获得断电命中的调试事件。
但是,我遇到了两个严重的问题:
1、设置断点的速度很慢,比如我设置1万个断点,光断点设置就要20分钟以上。
2、断点命中的速度也很慢,从断点命中到反映到调试器,再到断电恢复,每个断点到需要1s左右。在断点数量较多时,这个性能显然不能接受。
因为是使用com口115200来连接的,我想问下这些性能问题是因为com的连接虚拟机的方式带来的(我是否可以考虑换真机或者其他连接模式<网络or火线>)还是windows调试引擎的设计就是如此的性能表现。

IP 地址: 已记录   报告
   2016-03-03, 11:56 上午
Abstr 离线,最后访问时间: 2016-10-9 8:03:06 Abstr

发帖数前50位
注册: 2014-11-05
发 贴: 22
Crying [:'(] Re: 自定义内核调试器性能问题
Reply Quote
我做了一些功课,目前得到的信息包括:
卡顿的性能问题来自两个方面:
1、com线115200bps的连接速率为卡顿做了很大贡献
2、windbg与com口通信的协议也影响速率

现在我有两个思路:
1、通过VMWare虚拟机,看看能不能通过火线1394或者usb来实现双机调试,以此解决卡顿问题
2、通过火线(或者usb线)将两台实体机相连,解决问题

目前两个思路,都遇到了瓶颈
1、VMWare对火线和usb连接的支持,目前没找到相关资料(找到的资料都是泼冷水的<汗>)
2、真机实线连接的话,我的pc没有1394口,另外usb线好像很贵,而且不太好买,现在我的内心有点崩溃

IP 地址: 已记录   报告
   2016-03-04, 19:54 下午
Raymond 离线,最后访问时间: 2019-2-18 12:30:29 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,299
Re: 自定义内核调试器性能问题
Reply Quote
调试引擎支持的断点数量是有限制的,是不可以设置那么多的,设置多了没有用,g的时候会报错的
IP 地址: 已记录   报告
高端调试 » 软件调试 » Windows内核调试 » 自定义内核调试器性能问题

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