随笔分类 -  Windows

VC里嵌汇编,获取寄存器的值
摘要:1、拷贝eax的值int cur_eax;__asm{ mov cur_eax, eax // 将eax放到num变量中}2、获取eip的值: eip寄存器没法直接获取,但可以用其他方法得到int cur_eip;__asm{ push eax_LABEL_: lea eax, _LABEL_ mov cur_eip, eax pop eax} 阅读全文

posted @ 2011-04-21 19:42 高原 阅读(987) 评论(0) 推荐(0)

[转] 使用dbghelp获取调用堆栈--release下的调试方法学
摘要:当软件作为release模式被发布给用户时,当程序崩溃时我们很难去查找原因。常见的手法是输出LOG文件,根据LOG文件分析程序崩溃时的运行情况。我们可以通过SEH来捕获程序错误,然后输出一些有用的信息作为我们分析错误的资料。一般我们需要输出的信息包括:系统信息、CPU寄存器信息、堆栈信息、调用堆栈等。而调用堆栈则是最有用的部分,它可以直接帮我们定位到程序崩溃时所处的位置(在何处崩溃)。(codeproject上关于这个专题的常见开场白 = =#)要获取call stack(所谓的调用堆栈),就需要查看(unwind)stack的内容。We could conceivably attempt t 阅读全文

posted @ 2011-04-20 19:13 高原 阅读(537) 评论(0) 推荐(0)

[转] 探索Win32系统之窗口类(Window Classes in Win32)
摘要:翻译说明: 以前一直没有很在意窗口类的使用,我近期在用vc做一些界面时遇到窗口类定义的概念,这次翻MSDN的时候看到了一篇文章,讲到窗口类的一些基本概念,匆匆看完,翻译出来当学习笔记,可能有一些细节上的谬误,请包涵。放在网上,如果大家觉得值得参考,就看看。 在MFC编程里,窗口类的概念接触的已经比较少了,在SDK编程的时候则至少还需要声明一个WNDCLASS(EX)类RegisterClass(Ex)一下。但是窗口类在windows中是无所不在的,虽然不是很深奥的东西,了解一下其中细节,个人觉得对编程应该是有好处的。vcbear翻译 vcbear@163.com <正文>探索Win 阅读全文

posted @ 2011-04-08 12:08 高原 阅读(1116) 评论(0) 推荐(1)

导航