2013年1月6日

转载:Windows的进程创建和映像装入

摘要: 原文地址:http://blog.chinaunix.net/uid-20476365-id-1942481.html关于Windows的进程创建和映像装入的过程,“Microsoft Windows Internals 4e”一书的第六章中有颇为详细的说明。本文就以此为依据,夹译、夹叙、夹议地作一介绍。书中说,创建进程的过程分成六个阶段,发生于操作系统的三个部分中,那就是:Windows客户端即某个应用进程的包括Kernel32.dll在内的动态连接库,Windows的“执行体”、即内核(确切地说是内核的上层),以及Windows子系统的服务进程Csrss中。这六个阶段是: 1. 打开目标映 阅读全文

posted @ 2013-01-06 22:41 NBSTAR 阅读(449) 评论(0) 推荐(0) 编辑

2012年12月21日

C语言中标识符的作用域、命名空间、链接属性、生命周期、存储类型

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2012-12-21 01:03 NBSTAR 阅读(4) 评论(0) 推荐(0) 编辑

2012年12月20日

激活LLVM的DEBUG()宏

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

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

2012年12月19日

Windows Debug API

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

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

2012年8月21日

NBStar团队博客成立啦

摘要: 多谢关注 阅读全文

posted @ 2012-08-21 23:10 NBSTAR 阅读(203) 评论(1) 推荐(0) 编辑

2010年8月29日

asn1c中 std::max编译冲突解决方法

摘要: 1>------ 已启动全部重新生成: 项目: libasnparser, 配置: Debug Win32 ------1>正在删除项目“libasnparser”(配置“Debug|Win32”)的中间文件和输出文件1>正在编译...1>Main.cpp1>e:/work/libasnparser/libasnparser/position.hh(83) : error C2589: “(”: “::”右边的非法标记1>e:/work/libasnparser/libasnparser/position.hh(83) : error C2059: 语法错误 阅读全文

posted @ 2010-08-29 21:11 NBSTAR 阅读(429) 评论(0) 推荐(0) 编辑

2010年8月27日

Flex&Bison Tips (2010-08-27) 应用auto_ptr避免内存泄露

摘要: todo: 阅读全文

posted @ 2010-08-27 00:42 NBSTAR 阅读(175) 评论(0) 推荐(0) 编辑

Flex&Bison Tips(2010-08-27) 如何在VC中更好的断点调试flex&bison词法和语法分析器

摘要: 断点设置:todo: 阅读全文

posted @ 2010-08-27 00:39 NBSTAR 阅读(188) 评论(0) 推荐(0) 编辑

Flex&Bison Tips(2010-08-26)如何改善 flex & bison 在VC下的编辑环境

摘要: 我在VC下安装VC助手(VisualAssistX), 让它可以高亮显示C/C++语法,同时支持快捷跳转、自动联想、简单重构等功能。1. 将flex的输入文件命名为后缀 .cpp, 但是将这个.cpp文件从工程编译中排除,这样既可以方便在flex输入文件中写C/C++代码。同时编译也不会报错。2. 如果要让flex生成的头文件和源文件具有自己的名字,也很简单,在flex的输入文件中使用如下选项就可自己指定想要的文件名:/* 自命名输出文件 */%option outfile="Lexer.cpp" HEADER-FILE="Lexer.h" 通过以上设置 阅读全文

posted @ 2010-08-27 00:34 NBSTAR 阅读(476) 评论(0) 推荐(0) 编辑

2010年8月19日

windows 下 flex 命令行批处理文件

摘要: 1. 通过cygwin 安装 flex2. 新建一个命令行批处理文件调用flexflex.bat@set flex_dir="E:/SDK/cygwin/bin"@set Path=Path;%flex_dir%@REM flex command line@REM Usage@REM flex.bat %grammer_file_name@REM @REM flex parameters used in our command line@REM --nounistd not include unistd.h @REM --never-interactive t... 阅读全文

posted @ 2010-08-19 21:32 NBSTAR 阅读(425) 评论(0) 推荐(0) 编辑

导航