12 2012 档案

C语言中标识符的作用域、命名空间、链接属性、生命周期、存储类型
只有注册用户登录后才能阅读该文。

posted @ 2012-12-21 01:03 NBSTAR

激活LLVM的DEBUG()宏
摘要:DEBUG()宏介绍当你正在开发一个LLVM Pass时,通常会添加大量的打印和其他代码用于调试。当Pass完工后,你本想移除它们,但要考虑到将来可能还需用到(如调试新的bug)。因此,你自然不想删除这些打印代码,也不想它们总是跳出来影响你的心情。一种解决方案是使用注释。当你需要它们时打开注释,当你厌倦它们时再注释掉。llvm提供了一个更好的解决方案,那就是DEBUG()宏。通常,你可以给DEBUG()宏传递任意代码作为参数,这些代码呢,只会在llvm-opt(或则其它工具)携带"-debug"命令行参数时才会执行。例如,DEBUG(errs() << &quo 阅读全文

posted @ 2012-12-20 23:55 NBSTAR 阅读(2741) 评论(0) 推荐(0)

Windows Debug API
摘要:最重要的Debug API有如下几个: CreateProcess —— 用于创建被调试进程 WaitForDebugEvent —— Debug Loop(调试循环)的主要构成函数 ContinueDebugEvent —— 用于构成Debug Loop GetThreadContext —— 得到被调试进程的寄存器信息 SetThreadContext —— 设置被调试进程的寄存器信息 ReadProcessMemory —— 得到被调试进程的内存内容 WriteProcessMemory —— 设置被调试进程的内存内容 阅读全文

posted @ 2012-12-19 00:43 NBSTAR 阅读(355) 评论(0) 推荐(0)

导航