
关于异常的捕获和dump文件的生成
异常的产生 CPU执行程序汇编代码时,发现了异常,然后把异常告诉了操作系统。 操作系统首先会让程序自身处理这个异常。 如果程序自身有能力处理,程序就继续运行。 有能力是值程序中有注册的异常处理函数。 如果程序没能力处...
异常的产生 CPU执行程序汇编代码时,发现了异常,然后把异常告诉了操作系统。 操作系统首先会让程序自身处理这个异常。 如果程序自身有能力处理,程序就继续运行。 有能力是值程序中有注册的异常处理函数。 如果程序没能力处...
线程调度概述 每个线程都有一个上下文,这个上下文保存在内核对象中。它反应了线程上一次执行时CPU寄存器的状态。 大概每个20ms(GetSystemTimeAdjustment函数的第二个参数的返回值),Window...
调试堆内存 启用用户堆栈跟踪(User Stack Trace) 方法一 通过 gflags.exe 为目标进程添加堆栈跟踪标志: gflags.exe /i YourProgram.exe +ust 方法二: 打开...
终止进程 方法 主线程的入口点函数返回。 进程中的一个线程调用ExitProcess函数(要避免这种方式)。 另一个进程中的线程调用TerminateProcess函数(要避免这种方式)。 进程中的所有线程都“自然死...
概述 Windows 的组件对象模型(Component Object Model,COM)是一种用于构建可重用软件组件的标准和技术 它允许软件组件以二进制形式进行互操作,独立于编程语言、开发工具和平台 COM 技术...
概述 当所有线程都能独自运行而不需要相互通信的时候,Microsoft Windows将进程最佳运行状态。 系统中的所有线程必须访问系统资源,比如堆、串口、文件、窗口以及无数其他资源。 如果一个线程独占了对某个资源的...
简介 组件对象模型(COM)是一个独立于平台的分布式面向对象的系统,用于创建可交互的二进制软件组件 是OLE(复合文档),ActiveX(Internet组件)等的基础技术 不是一种语言,而是一种标准,用于创建运行时...
调试实践 关于调试实践。 内存破坏 栈内存 在Windows中,栈只是操作系统为线程分配的一块内存。 作用是记录函数调用链(局部变量的分配、参数传递)。 每当调用函数时,都会创建一个栈帧并且把它压入到栈中。 随着线程...
创建线程 概述 每个进程至少都有一个线程。 线程的组成 线程的内核对象,操作系统用它管理线程。 系统还用内核对象来存放线程统计信息的地方。 线程栈,用于维护线程执行时所需的所有函数参数和局部变量。 进程从来不会执行任...
Windows 日志 可以通过现有日志来观察 当不方便附加进程时,可以通过写文件的方法写日志 Visual Studio 附加到进程 CLion 附加到进程 windbg Linux 日志 应用程序日志 var/lo...
搜索当前分类