C++程序高级调试与优化_第一篇
地址空间 32位系统,CPU可直接寻址4GB空间,这也是每个进程的地址空间大小。 其中,高2GB供内核模块使用,称为内核空间。 低2GB供用户态模块使用,称为用户空间。 使用/3GB开关,可以将用户空间增大到3GB。 Windows内容load到内核空间高地址,主程序load到用...
地址空间 32位系统,CPU可直接寻址4GB空间,这也是每个进程的地址空间大小。 其中,高2GB供内核模块使用,称为内核空间。 低2GB供用户态模块使用,称为用户空间。 使用/3GB开关,可以将用户空间增大到3GB。 Windows内容load到内核空间高地址,主程序load到用...
!analyze -v FAULTING_IP 显示发生故障时的指令指针 EXCEPTION_RECORD 显示此崩溃的异常记录 也可以通过.exr查看 BUGCHECK_STR 该名称是错误的名称,错误检查一词实际上表示内核模式崩溃 在用户模式调试中,将显示异常代码 DEFAU...
接口卡信息获取 这里是外面有地方需要获取en0信息,所以使用了一个map,以接口卡名字为键,保存了对应的接口卡信息 路由(网关)相关信息获取 注释 获取所有接口卡的路由信息,内容示例如下: 这里的功能需要的是en0的相关信息,所以在后面根据interface进行了过滤 拿到的en...
文件的创建,打开与关闭 linux中对目录和设备的操作都是文件操作,文件分为普通文件,目录文件,链接文件和设备文件。 fopen以mode的方式打开或创建文件,如果成功,将返回一个文件指针,失败则返回NULL fopen创建的文件的访问权限将以0666与当前的umask结合来确定...
概述 网络程序需要处理的第三类事件是定时器事件,比如定期检测一个客户连接的活动状态。 服务器程序通常管理着众多定时事件,因此有效地组织这些定时事件,使之能在预期的时间点被触发且不影响服务器的主要逻辑,对于服务器的性能有着至关重要的影响。 为此,需要将每个定时事件分别封装成定时器,...
概述 对CreateThread函数的调用,导致系统创建了一个线程内核对象。 该内核对象最初的使用计数为2,除非线程终止,而且从CreateThread返回的句柄被关闭,否则线程内核对象不会被销毁。 该线程内核对象的其他属性也被初始化: 暂停计数被设为1 退出代码被设为STILL...
spy++相关 使用 打开spy++ 查找窗口 把小圆圈拖动到目标窗口上,比如按钮等等 并且在下面选择消息 在消息窗口查看日志 具体信息看下发示例 示例行为 使用spy++监听了某个窗口上的一个Button的消息 然后移动鼠标到Button上 然后用鼠标左键点击该Button 日...
lm lmv 概述 是 lm命令的详细模式,用于显示所有已加载模块的完整信息,包括: 模块基地址(Start/End):模块在内存中的起始和结束地址 模块路径(Image path):文件在磁盘中的完整路径 符号状态(Symbols):如 Loaded(符号已加载)、Deferr...
build.gradle 不同于Eclipse,Android Studio是通过Gradle来构建项目奖的 Gradle是一个非常先进的项目构建工具,它使用了一种基于Groovy的领域特定语言来声明项目设置,摒弃了传统基于XML的各种繁琐配置 两个build.gradle 外层...
col 功能说明:过滤控制字符。 语 法:col [-bfx][-l<缓冲区列数>] 补充说明:在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符">"和">>",把说明文件的内容输出...
搜索当前分类