今天用了大半天调试了一个BUG, 是这样的:
Command not processed, because id is 0x1798
Data Abort: Thread=82d07480 Proc=801e6610 'gwes.exe'
AKY=00004009 PC=0001f824(gwes.exe+0x0000f824) RA=0001f81c(gwes.exe+0x0000f81c) BVA=0800000d FSR=00000003
TLSKERN_NOFAULT set... bypassing kernel debugger.
Data Abort: Thread=82d8c904 Proc=801e6610 'gwes.exe'
AKY=00002009 PC=0001f824(gwes.exe+0x0000f824) RA=0001f81c(gwes.exe+0x0000f81c) BVA=0800000d FSR=00000003
TLSKERN_NOFAULT set... bypassing kernel debugger.
Data Abort: Thread=837e24a8 Proc=801e6610 'gwes.exe'
AKY=00000049 PC=0001f824(gwes.exe+0x0000f824) RA=0001f81c(gwes.exe+0x0000f81c) BVA=0800000d FSR=00000003
TLSKERN_NOFAULT set... bypassing kernel debugger.
最后调试出来是在::PostMessage(HWND_BROADCAST, WM_COMMAND, wparam, lparam);
(这边我传递的lparam不是0,而是RADIO msg.)
后出错的,在GOOGLE了之后,貌似WM_COMMAND的lparam本来是控件ID。
具体原因还要进一步研究。
ps:LL语法分析做的太慢了!. 完了之后结合ParsingTechs书,做一个正则表达式引擎,当然呀在条件允许的情况下了。

没有评论:
发表评论