消息“在信号SIGKILL终止的启动程​​序期间”来自GDB [英] Message "During startup program terminated with signal SIGKILL" from GDB

查看:293
本文介绍了消息“在信号SIGKILL终止的启动程​​序期间”来自GDB的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在使用GNU工具构建的AIX上调试C ++程序时遇到问题。当程序在调试器外运行时:

  -bash-4.3 $ ./cryptestcwd v 
分段错误(核心转储)

当程序在GDB下运行时,调试器输出消息 在启动程序中,信号SIGKILL终止,终止。 并退出:

。它不会发生在我们的常规GNUmakefile中。我们为Autotools和GNUmake文件提供了相同的参数。我们了解Autotools 添加了其他选项,甚至将C文件添加到C ++项目中,但我们无法控制它。



相关问题在在启动程序终止时发出信号SIGKILL,Killed ,但它没有有用的答案。其他两个相关问题只是说明 SIGKILL 不能被捕获。另请参阅在Linux下捕获SIGKILL的调试程序用gdb处理信号



如何进一步调试问题?

SIGKILL 很可能意味着AIX运行时加载程序无法找到二进制链接所针对的某个库(Linux当发生这种情况时,运行时加载器会生成一个更有用的错误消息)。



您应该验证 ldd cryptestcwd 不抱怨任何事情。



您也可以尝试加载在您运行程序之外生成的核心 GDB到GDB - 可能有更多的线索(使用 info共享其中 x / i $ pc 命令)。


I'm having trouble debugging a C++ program on AIX built with GNU tools. When the program runs outside the debugger:

-bash-4.3$ ./cryptestcwd v
Segmentation fault (core dumped)

When the program runs under GDB, the debugger prints the message During startup program terminated with signal SIGKILL, Killed. and exits:

An added wrinkle is, this only happens with an Autotools front-end. It does not happens with our regular GNUmakefile. We supply the same arguments to both Autotools and the GNUmakefile. We are aware Autotools adds additional options and even adds C files to the C++ project, but we have no control over it.

A related question is at During startup program terminated with signal SIGKILL, Killed, but it does not have useful answers. Two other related questions just state that SIGKILL cannot be caught. Also see Debugging program that catches SIGKILL under Linux and Handling signals with gdb.

How can I debug the problem further?

解决方案

The SIGKILL at startup most likely means that the AIX runtime loader couldn't find some library that the binary links against (a Linux runtime loader produces a more helpful error message when that happens).

You should verify that ldd cryptestcwd doesn't complain about anything.

You could also try to load the core that is produced when you run your program outside of GDB into GDB -- there may be additional clues there (use info shared, where, x/i $pc commands).

这篇关于消息“在信号SIGKILL终止的启动程​​序期间”来自GDB的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆