笔记本由于布局的原因不把串口引出来也是常见的做法,至少还可以用用USB口。
可是键盘上居然没有Scroll键,简直让人抓狂,机器hang了没法生成dump file,不得不要跑到工厂去把USB线带过去连上。
其实微软应该提供个功能,定时crash OS
hehe, 不知谁的“聪明”主意,把这个键也“节约”掉了。
定时好像不行吧,不光影响正常使用,调试时也说不准何时需要转储呀。
其实这个热键是可以通过注册表来配置的:
1)先建一个子键: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\crashdump
2)加一个名为Dump1Keys的键值用来指定使用的Ctrl,Alt,Shift组合;
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(及其核心驱动)的可配置性做的不错吧?!