如何调试运行中多线程的进程

如何调试运行中多线程的进程

如何调试运行中多线程的进程?
通常情况下,我们利用non_stop模式调试程序的时候是采用的一键推送调试,如果遇到正在运行中的多线程进程,我们可以采用attach+non_stop的方式来对其调试。

      (1)加入断点后对运行中的程序进行单步调试:


        (2)attach调试选项:

    • Related Articles

    • SylixOS调试不支持数据断点

      Q:调试的时候 attach 到进程,立马死掉,或者调试的时候出现很多诡异现象。 解决方法: 先叫用户在 IDE 下面检查是断点设置情况,或者直接清空断点,然后再链接,看下调试功能是否就好了,如果好了,说明之前可能出现无意中触发设置数据断点的功能了。
    • 程序崩溃时该如何调试

      Q:程序崩溃时该如何调试 首先确定编译应用程序所选择的编译工具架构,和实际硬件架构是否一致。 可以使用 Crash Trap 调试, SylixOS 自 v1.9.9 内核版本后开始支持 crashtrap 命令,此命令可在程序崩溃时将进程切换到 STOP 模式,方便用户进入 Attach 调试。 更多扩展知识见: 使用方式详见《RealEvo-IDE 使用手册》第5章 RealEvo-IDE调试,5.8 Crash Trap调试 或者《SylixOS 开发禁(限)用说明》 ...
    • 使用 GDB 命令行调试 SylixOS 应用程序

      一、简介 SylixOS 在内核中内置了一个标准的 GDB Server。使用 GDB 调试,只有两个步骤: 在 SylixOS 上启动 GDB Server; 使用交叉编译工具链中的 GDB 应用程序连接到 SylixOS 上的 GDB Server。 两个步骤完成后,便可以使用 GDB 进行调试了 注:SylixOS 的 GDB 不支持 Watch 变量的功能,因为 Stub 不支持数据断点。 二、前提条件 1. 断开硬件调试工具 GDB 依靠 CPU ...
    • RealEvo-IDE 使用串口调试 App

      需求 对于不支持以太网接口的设备,可以使用串口进行手动启动调试,基本流程参见《RealEvo-IDE使用手册》中 5.3 小节的内容。 为了用户能正常使用该功能,本文档将实际操作中的细节整理如下。   硬件设备 本次演示使用的硬件设备是翼辉信息的T3工业控制器IGC1500,串口设备信息如下: 1 个 RS232 Debug 接口: 设备名/dev/ttyS0,对应于接线端子 RS232-2,端口信号为 RX2,TX2,GND。 2 个 RS232 用户接口: ...
    • SylixOS 每个进程的堆栈大小是多少?

      Q:SylixOS 每个进程的堆栈大小是多少? SylixOS 进程虚拟空间以页 ( 典型大小为 4KB ) 为单位进行分配, 每一个进程在装载时预分配 32MB 的虚拟页面,( 空间的大小将通过环境变量 SO_MEM_PAGES 决定 ) API_TShellExec("SO_MEM_PAGES=8192");                                /*  动态内存虚拟页面数量        */                                     ...