精华内容
下载资源
问答
  • vs多进程调试
    2022-04-10 17:09:51

    使用GDB调试的时候,GDB 默认只能跟踪一一个进程,可以在fork 函数调用之前,通过指令设置GDB调试工具跟踪父进程或者是跟踪子进程,默认跟踪父进程。

    1.设置调试父进程或者子进程: set follow- fork-mode [parent (默认)| child]

    可使用        show follow- fork-mode        查看当前默认调试进程

    2.设置调试模式: set detach-on-fork [on | off]
    默认为on, 表示调试当前进程的时候,其它的进程继续运行,如果为off, 调试当前进程的时候,其它进程被GDB挂起。

    可使用         ​​​​​​​show detach-on-fork         查看当前调试模式

    3.查看调试的进程: info inferiors

    查看当前调试的进程信息,如图所示。

    4.切换当前调试的进程: inferior id (id为info输出的num,而不是进程号)

     如图,此时*显示,已经切换到2号进程。

    5.使进程脱离GDB调试:detach inferiors id

     脱离后显示,父进程已运行完毕。

    更多相关内容
  • VS2017 多进程之间调试

    千次阅读 2020-03-23 09:40:37
    当一个线程要调用另一个线程的接口函数时,在调试的时候需要调试子线程,下面...首先需要把子进程设置为调试进程,在工具栏里选择调试->其他调试目标->Child Process Debugging->enable Child Process...

    当一个线程要调用另一个线程的接口函数时,在调试的时候需要调试子线程,下面讲解两种调试方法:

    所需工具:Microsoft Child Process Debugging Power Tool 这个从扩展工具里面获取

    首先需要把子进程设置为调试子进程,在工具栏里选择调试->其他调试目标->Child Process Debugging->enable Child Process Debug->save。

    目录

    方法一:调试入口为主进程

    方法二:设置子进程为附加进程

    注意:


    方法一:调试入口为主进程

    这中方法较为简单,但是有时候会进不去主进程。在主进程里调用子进程的地方设置断点,子进程相应的地方也设置断点,调试主线程按F10往下走,会主动进入到子进程。

    缺点:运气好能进去,大多进不去。若有读者有好的方法,请在评论里留下,谢谢=_=。

    方法二:设置子进程为附加进程

    先在主进按ctrl+F5运行exe程序,把需要调试的子进程,在上图选择附加到进程,在可用进程里面选择主进程的名称,点击附加。

    然后在子进程中的接口函数里设置断点,再在运行的主进程程序中点击相应的响应子进程的按钮或操作,这时就会进入到子进程的调试界面。经测试,基本每次都会进去。

    注意:

    1、每次设置一次附加到进程后没有关闭VS,后面只要之间按Ctrl+Alt+P即重新附加到进程,就能与之前一样。

    2、修改代码过后就不能进入到相应的调试代码,需要重新编译,若子进程与主进程不在一个文件夹,则需要把原来主进程调用子进程地方的三个东西(.ilk,.pdb文件)替换一下。

    展开全文
  • VS多线程调试

    千次阅读 2021-05-15 14:33:11
    1.VS多线程调试问题描述 先看一下这个例子: 这里我的代码里有2个线程,一个线程在发送数据,另外一个线程在接收数据,上图中加断点的地方是发送线程的代码,接收线程中我有一个while循环在不断地打印日志。...

    目录

    1.VS多线程调试问题描述

    2.解决VS多线程调试的方法

    2.1 无效方法

    2.2 方法一

    2.3 方法二


    1.VS多线程调试问题描述

    先看一下这个例子:

    这里我的代码里有2个线程,一个线程在发送数据,另外一个线程在接收数据,上图中加断点的地方是发送线程的代码,接收线程中我有一个while循环在不断地打印日志。调试起来后当断点命中上图标记的位置时,可以发现接收线程停止打印日志了,这说明在VS中,当一个线程命中断点后,其它线程也不会再继续执行代码了。

    2.解决VS多线程调试的方法

    2.1 无效方法

    有同学说把上面红色放开标记的选项去掉勾选就可以,我也试了一把,并没有效果

    2.2 方法一

    第1步:打开线程窗口

    第2步:如果你不想让某个线程运行,就在右下角选择那个线程并右键单击,在弹出的菜单中选择“冻结”。如果之后想让刚才被冻结的线程恢复运行,则再次右键单击该线程,然后点击“解冻”菜单。如果你想暂停当前线程,转去执行其它线程,则冻结当前线程,然后右键单击你想运行的线程,在弹出菜单中选择“切换”线程,则VS会自动跳转到代码中的某一行,这时你就可以调试你想运行的那个线程了。

    2.3 方法二

    虽然方法二一定程度上可以解决部分问题,但还是难以模拟真实的应用场景,且操作复杂,所以我觉得最好的方法就是打印日志,可以直接打印到VS输出窗口,也可以打印日志到文件

    展开全文
  • VS下Windows智能设备多进程联合调试方法
  • gdb之多进程调试

    2021-08-13 09:24:34
    最近项目上跑的是多进程,有几个后台进程在系统起来后启动脚本里就会让其跑起来,有时遇到问题时才会去调试这些后台进程,记录如下: 1,用ps或top命令找出要调试进程的进程号,如: ps -ef | grep Server 查找要...

    最近项目上跑的是多进程,有几个后台进程在系统起来后启动脚本里就会让其跑起来,有时遇到问题时才会去调试这些后台进程,记录如下:

    1,用ps或top命令找出要调试进程的进程号,如:
    ps -ef | grep Server 查找要调试的进程号

    找到了对应的进程号为461

    2,gdb attach PID    

     

     attach 上进程后,进程会暂停,此时可以设置断点或其他操作,因为是后台进程已经正常运行,所以一般输入c继续运行即可

    3,信号处理

    收到SIGPIPE默认动作是stop,暂停掉,设置处理动作:handle SIGUSR2 SIGPIPE nostop noprint

    4,打印调用堆栈 

     

    此时要调试的进程已经崩溃,查看调用堆栈就可以去排查问题了。

     

    展开全文
  • CEF之多进程调试

    千次阅读 2021-01-14 14:03:48
    CEF3 使用多进程。其中包括:一个浏览器进程、一个渲染进程和若干其他进程(处理插件的进程、处理GUP的进程等)。 浏览器进程处理窗口的创建和绘制,以及网络访问等,浏览器进程包含了应用程序的主要逻辑。 渲染...
  • 最近项目上用到多进程,需要在vs2015上调试多进程,查找资料以及自己实践,总结出两种调试多进程的方法: 方法一:使用Microsoft Child Process Debugging Power Tool插件: ...
  • 关于python多进程调试的思路

    千次阅读 2020-05-21 20:50:15
    最近使用多进程时,子进程中程序一直卡在某一步,然后就没有继续执行,原以为是多进程间互相干扰,最后发现是子进程报错了,而子进程不做任何处理,报错的时候,报错信息是不会打印的,因为一直找不到原因。...
  • 最近用vs2010调试 android adb 代码, 该代码是由一个客户端来fork一个子进程(见adb.cpp中 launch_server函数,)创建server。 那么问题来了,当代码进入子进程后,怎么调试呢? 用过网上说的DebugBreak()函数,...
  • VS2017之附加到进程调试

    万次阅读 2019-09-09 16:54:20
    1、用vs打开你的项目,在要发布的项目上,右键选择在文件资源管理器中打开文件夹 2、记下打开的项目的文件夹路径,我的项目存在电脑的E盘 3、打开IIS,点击网站,右键,点击添加网站,或者点击右...
  • VS2010中,按照VS2017的设置进行配置好后,下断点,附加到目标进程调试,在目标进程中运行,发现断点总是命中不了,无法进到断点 warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/OPT:ICF”规范)
  • gdb 多进程程序调试

    2010-09-27 00:17:08
    gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试
  • gdb调试多进程

    千次阅读 2020-12-01 11:15:28
    在Linux系统下主要使用的调试器就是gdb, 但是在使用gdb的时候遇到了多进程的程序时,默认的配置我们是不可以直接多多个进程同时进行调试的, 需要设置几个参数… 例子 这里程序利用fork()函数生成了一个子进程(第一个...
  • 必须要吐槽下,最近app有些新功能,需要真机调试(如何在真机调试中,查看log信息我后面会补篇博客),然后顺带着调试接口也不怎么方便,就搞一下附加进程调试,结果搞这个附加到进程调试搞了我两个小时,终于在中午...
  • vscode python 多进程,多线程,带参数调试vscode python 多进程,多线程,带参数调试多进程,多线程调试带参数调试 vscode python 多进程,多线程,带参数调试 多进程,多线程调试 高效的调试技巧可以快速找到程序...
  • 多进程调试

    千次阅读 2018-12-31 12:17:32
    一、dnspy 多进程调试  1.1 当子进程起来后,另外起dnpsy使用附加的方式,可以进入调试。 这样做是可以调试,但是这样看手速... 如果你附加过慢,可能关键函数已经跳过了;最主要的问题是如果使用dnspy的附加...
  • vs2010 多进程 调试

    千次阅读 2015-10-30 11:49:32
    1. 在B函数入口调用AfxMessageBox函数,当进程一旦进入这个函数就挂起,然后在VS2005里点击调试菜单中的 —>附加到进程,选中你需要调试的那个进程,然后就可以调试了! 以下参考。 1. 在B函数入口调用...
  • gdb调试多进程与多线程

    万次阅读 多人点赞 2017-06-10 16:32:25
    一,gdb的基础知识1>介绍: gdb是Linux环境下的代码调试工具。 2>使用:需要在源代码生成的时候加上 -g 选项. 3>开始使用: gdb binFile 4>退出:ctrl + d 或 quit 5>调试过程中的常用命令: list/l 行号:显示...
  • 使用 Visual Studio 调试多进程的程序

    千次阅读 2019-03-04 08:21:38
    当你的编写的是一个多进程的程序的时候,调试起来可能会比较困难,因为 Visual Studio 默认只会把你当前设置的启动项目的启动调试。 本文将介绍几种用 Visual Studio 调试多进程程序的方法,然后给出每种方法的适用...
  • Linux gdb多进程、多线程调试

    千次阅读 2020-05-21 17:00:45
    gdb多进程调试 gdb多线程调试 前言 gdb 是linux平台下进行程序调试的最常用的工具。简单的程序调试就是加断点,然后一步一步让程序运行,直到找到 bug 。一般的程序调试起来比较简单,但是在多进程或多线程情况下...
  • Linux gdb调试多进程

    千次阅读 2018-05-14 23:20:17
    gdbgdb是Linux下的调试工具,如果需要调试,则要在编译时加上-g选项,否则无法调试。gdb常用指令:gcc/g++ -g test.c/test.cpp ———-调试前先对源文件进行编译,注意一定要加 -g。 gdb a.out ——— a.out为可...
  • gdb启动多进程程序并切换调试进程

    千次阅读 2019-05-23 20:47:15
    gdb是linux环境下调试C/C++程序的强大工具,但是最近在使用gdb启动一个多进程程序的时候总是意外退出,显示信息中包含Detaching after fork from child process 25377.这一句,而用attach命令附加到正在运行的进程却...
  • Android 多进程调试技巧

    千次阅读 2019-07-16 13:54:07
    之前开发多进程的应用,想要调试Application 里面的代码,一直调试不了代码。 因为是多进程,Application 会执行两次。 原因: 比如我们有两个进程,一个叫进程a, 一个叫进程b. 因为我们android debug 的时候,选择...
  • GDB调试进程

    千次阅读 2021-08-26 20:39:17
    GDB调试进程设置和指令follow-fork-mode设置detach-on-fork设置inferior指令解决方法 设置和指令 GDB调试进程主要用到两个设置,一个是 set follow-fork-mode [parent|child] ,另外一个是 set detach-on-fork ...
  • 在2.5.60版Linux内核之后,GDB对使用fork、vfork创建子进程的程序提供了follow-fork-mode选项来支持多进程调试。follow-fork-mode的用法为set follow-fork-mode [parent|child] parent调试父进程,子进程不受影响 ...
  • LINUX系统下多线程与多进程性能分析,该篇分析很严谨,内容详实
  • Vscode 附加进程调试

    千次阅读 2021-11-04 10:41:55
    文章目录一、vscode 远程连接二、vscode attach 调试1.vscode 调试 一、vscode 远程连接 (1)下载远程插件 (2)在远程端生成秘钥 #!bin/bash if [ $# -lt 1 ]; then echo “usage: $0 hostname@ip” exit fi ssh-...
  • 有的时候在Android Studio中明明设置了断点,也确认了代码会走到断点处,...这个时候就要用到远端进程调试了。在执行普通Debug调试之后,在进程启动的情况下,再如下图操作。就可以调试目标进程的代码了。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 289,676
精华内容 115,870
关键字:

vs多进程调试