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

Windows内核调试

帖子发起人: Coding   发起时间: 2009-09-18 17:20 下午   回复: 4

Print Search
帖子排序:    
   2009-09-18, 17:20 下午
Coding 离线,最后访问时间: 2010/2/20 12:12:52 Coding

发帖数前10位
注册: 2008-05-31
发 贴: 103
Broken Heart [U] 宝贵的Scroll键,看了老张blog宝贵的串口有感。
Reply Quote

笔记本由于布局的原因不把串口引出来也是常见的做法,至少还可以用用USB口。

可是键盘上居然没有Scroll键,简直让人抓狂,机器hang了没法生成dump file,不得不要跑到工厂去把USB线带过去连上。

其实微软应该提供个功能,定时crash OS

 


IP 地址: 已记录   报告
   2009-09-18, 21:38 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 宝贵的Scroll键,看了老张blog宝贵的串口有感。
Reply Quote

hehe, 不知谁的“聪明”主意,把这个键也“节约”掉了。

定时好像不行吧,不光影响正常使用,调试时也说不准何时需要转储呀。

其实这个热键是可以通过注册表来配置的:

1)先建一个子键: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\crashdump

2)加一个名为Dump1Keys的键值用来指定使用的Ctrl,Alt,Shift组合;

0x01 Rightmost SHIFT key
0x02 Rightmost CTRL key
0x04 Rightmost ALT key
0x10 Leftmost SHIFT key
0x20 Leftmost CTRL key
0x40 Leftmost ALT key

3)加一个名为Dump2Key的键值用来指定要使用的键码索引值,即下表的索引:

const UCHAR keyToScanTbl[134] = { 
        0x00,0x29,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
        0x0A,0x0B,0x0C,0x0D,0x7D,0x0E,0x0F,0x10,0x11,0x12,
        0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x00,
        0x3A,0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x25,0x26,
        0x27,0x28,0x2B,0x1C,0x2A,0x00,0x2C,0x2D,0x2E,0x2F,
        0x30,0x31,0x32,0x33,0x34,0x35,0x73,0x36,0x1D,0x00,
        0x38,0x39,0xB8,0x00,0x9D,0x00,0x00,0x00,0x00,0x00,
        0x00,0x00,0x00,0x00,0x00,0xD2,0xD3,0x00,0x00,0xCB,
        0xC7,0xCF,0x00,0xC8,0xD0,0xC9,0xD1,0x00,0x00,0xCD,
        0x45,0x47,0x4B,0x4F,0x00,0xB5,0x48,0x4C,0x50,0x52,
        0x37,0x49,0x4D,0x51,0x53,0x4A,0x4E,0x00,0x9C,0x00,
        0x01,0x00,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,
        0x43,0x44,0x57,0x58,0x00,0x46,0x00,0x00,0x00,0x00,
        0x00,0x7B,0x79,0x70 };

表中是PS2键盘使用的扫描码,每个代码所对应的按键可以通过微软网站的键盘扫描码文档查到,或者使用本站的一份拷贝:

http://advdbg.org/download/storeshow.aspx?id=c8b9493a-5246-4226-ab2b-60ecba8b4734 

4)将CrashOnCtrlScroll键值设为0或者删除 。

例如,把如果把Dump1Keys设置为0x20,把Dump2Key设置为0x2f,那么按住左侧的Ctrl键,再连续按两次x键,系统就蓝了:-)

Windows(及其核心驱动)的可配置性做的不错吧?!


IP 地址: 已记录   报告
   2009-09-18, 22:58 下午
MJ0011 离线,最后访问时间: 2009/12/24 22:33:41 MJ0011

发帖数前10位
注册: 2008-04-24
发 贴: 112
Re: 宝贵的Scroll键,看了老张blog宝贵的串口有感。
Reply Quote
定时确实不行,没有scroll键不是最痛苦的,我见过太多有scroll键,但使起不了效果的机器。

上次去一个出问题的用户处,XP的系统,SCROLL无效!没有1394口!没有串口!
IP 地址: 已记录   报告
   2009-09-19, 16:52 下午
Coding 离线,最后访问时间: 2010/2/20 12:12:52 Coding

发帖数前10位
注册: 2008-05-31
发 贴: 103
Re: 宝贵的Scroll键,看了老张blog宝贵的串口有感。
Reply Quote
还可以配置,上班来试试看。
其实我应该庆幸,问题不是出在另外一款只有触摸屏,没有键盘的机器上。

IP 地址: 已记录   报告
   2009-09-21, 14:59 下午
Coding 离线,最后访问时间: 2010/2/20 12:12:52 Coding

发帖数前10位
注册: 2008-05-31
发 贴: 103
Re: 宝贵的Scroll键,看了老张blog宝贵的串口有感。
Reply Quote
Keyboard Scan Code Specification
http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc

不过我没细细的研究Scan code,直接google Dump1Keys找了个例子。
Dump1Keys=0x22 (Rightmost CTRL key + Leftmost CTRL key)
Dump2Key=0x3d (use space key)
然后左右ctrl加空格键就可以crash系统了。
放在这里,如果有别人也search Dump1Keys就可以直接用,而不用查scan code specification了


IP 地址: 已记录   报告
高端调试 » 软件调试 » Windows内核调试 » Re: 宝贵的Scroll键,看了老张blog宝贵的串口有感。

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