有没有办法附加到远程进程?

圣安东尼奥

我目前无法解决我的应用程序的远程调试问题gdb我希望能够附加到远程进程并使用IDE的视觉调试(我使用Visual Studio Code)。

问题是IDE可以通过它附加到本地进程,但pid实际上并没有用。因此,如果我请求本地端口转发,则可以使用本地端口转发连接,但这又并不是我真正想要的。

是否可以执行类似“ pid-forwarding”的操作,即我设置了一些pid实际上是远程进程的操作。

斯蒂芬·基特

正如Billy叔叔所说的那样,一个不错的方法是使用GDB的远程调试功能。通过在运行您要调试的进程的主机上运行一个“小型”调试器,然后gdb从运行您的开发环境的主机上连接到该调试器,可以实现此目的。由于许多IDE(包括VS Code)都支持使用进行调试gdb,因此您可以针对在任何地方(包括在其他平台上)运行的进程提供舒适的开发环境。

在运行您要调试的进程的主机上,需要安装gdbserver(通常通过复制静态二进制文件)并运行它。例如:

gdbserver --attach :9953 ${pid}

将在端口9953上列出并附加到给定的进程ID。您可以指定多种连接服务器的方式(串行端口,IP地址...),也可以运行命令进行调试,或附加到正在运行的进程,甚至可以运行没有特定进程的“调试服务器” 。

在具有开发环境的主机上,您可以连接到以下目标gdb

$ gdb ...

(gdb) target remote <IP address>:9953

其他一切都照常进行。gdb将从远程目标传输它需要的文件(库等),但是为了加快处理速度,您可以将其指向文件的本地副本。它将使用本地资源。

当两个主机相同时,它可以按您期望的那样工作,但是也可以使其与不同的主机一起工作,例如,从Linux系统调试Windows程序,或更典型地,在小型嵌入式系统上运行的程序从更大的开发平台。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有办法将Javadoc文档注释附加到Groovy脚本?

来自分类Dev

有没有办法将绑定附加到setContentView活动

来自分类Dev

有没有办法在Spotfire中将用户输入附加到表?

来自分类Dev

有没有办法将多个角色附加到单个策略?

来自分类Dev

有没有办法将数据附加到 unix 中的 .xml 文件?

来自分类Dev

有没有办法将一个SVG的位置附加到另一个?

来自分类Dev

有没有办法将第二个根附加到 git 中的任意提交?

来自分类Dev

有没有办法用算术运算符将数组附加到列表中?

来自分类Dev

有没有办法确定哪个进程变成了僵尸进程

来自分类Dev

有没有办法更改正在运行的进程的进程组?

来自分类Dev

有没有办法为进程创建的所有任务全局WaitAll()?

来自分类Dev

有没有办法检查远程数据库是否存在?

来自分类Dev

Jmeter远程执行-有没有办法从ant提供全局属性?

来自分类Dev

有没有办法强制创建远程存储库?

来自分类Dev

有没有办法管理在横幅上显示更长的远程通知的持续时间?

来自分类Dev

有没有办法在我的本地Dekstop上安装远程服务器

来自分类Dev

有没有办法覆盖远程通知的默认声音?

来自分类Dev

有没有办法在远程队列管理器上发出命令?

来自分类Dev

有没有办法用 git log 显示远程引用?

来自分类Dev

有没有办法在远程存储库树上执行 git-grep 命令?

来自分类Dev

有没有办法在Go中的Windows上找到进程ID?

来自分类Dev

有没有办法在Android中获取当前进程名称

来自分类Dev

有没有办法让py.test忽略在子进程上引发的SystemExit?

来自分类Dev

有没有办法知道使用python的chromedrive产生了什么chrome进程?

来自分类Dev

有没有办法捕获进程中的堆栈溢出?C ++ Linux

来自分类Dev

有没有办法不断显示Cygwin中的Windows进程

来自分类Dev

有没有办法保存进程并在重新启动后检索它?

来自分类Dev

有没有办法查看哪个进程调用了shell脚本?

来自分类Dev

有没有办法在Unix / Linux中拦截进程间通信?

Related 相关文章

  1. 1

    有没有办法将Javadoc文档注释附加到Groovy脚本?

  2. 2

    有没有办法将绑定附加到setContentView活动

  3. 3

    有没有办法在Spotfire中将用户输入附加到表?

  4. 4

    有没有办法将多个角色附加到单个策略?

  5. 5

    有没有办法将数据附加到 unix 中的 .xml 文件?

  6. 6

    有没有办法将一个SVG的位置附加到另一个?

  7. 7

    有没有办法将第二个根附加到 git 中的任意提交?

  8. 8

    有没有办法用算术运算符将数组附加到列表中?

  9. 9

    有没有办法确定哪个进程变成了僵尸进程

  10. 10

    有没有办法更改正在运行的进程的进程组?

  11. 11

    有没有办法为进程创建的所有任务全局WaitAll()?

  12. 12

    有没有办法检查远程数据库是否存在?

  13. 13

    Jmeter远程执行-有没有办法从ant提供全局属性?

  14. 14

    有没有办法强制创建远程存储库?

  15. 15

    有没有办法管理在横幅上显示更长的远程通知的持续时间?

  16. 16

    有没有办法在我的本地Dekstop上安装远程服务器

  17. 17

    有没有办法覆盖远程通知的默认声音?

  18. 18

    有没有办法在远程队列管理器上发出命令?

  19. 19

    有没有办法用 git log 显示远程引用?

  20. 20

    有没有办法在远程存储库树上执行 git-grep 命令?

  21. 21

    有没有办法在Go中的Windows上找到进程ID?

  22. 22

    有没有办法在Android中获取当前进程名称

  23. 23

    有没有办法让py.test忽略在子进程上引发的SystemExit?

  24. 24

    有没有办法知道使用python的chromedrive产生了什么chrome进程?

  25. 25

    有没有办法捕获进程中的堆栈溢出?C ++ Linux

  26. 26

    有没有办法不断显示Cygwin中的Windows进程

  27. 27

    有没有办法保存进程并在重新启动后检索它?

  28. 28

    有没有办法查看哪个进程调用了shell脚本?

  29. 29

    有没有办法在Unix / Linux中拦截进程间通信?

热门标签

归档