我的程序有段错误。我尝试使用gdb的gdb命令查找bug,但不幸的是,我不理解它的输出:
(gdb) bt
#0 0x00007ffff1678480 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.1
#1 0x00007ffff171c11e in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.1
#2 0x00007ffff17e565f in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-ope
use strict;
use warnings;
use Data::Dumper;
use XML::Twig;
use Getopt::Long;
use Pod::Usage;
my %VERSION_HASH;
my $BRANCH_NAME;
my $HELP;
my $DEFAULT_XML;
my $VERSIONED_XML;
GetOptions(
"help" => \$HELP,
"branch=s" => \$BRANCH_NAME,
"defaultxml=s&
我有一个代码库(主要是C++),它经过了很好的测试,没有崩溃。多半是。代码的一部分--它是不可替代的,很难维护或改进,并且针对二进制库*的链接--导致所有崩溃。这种情况不会经常发生,但当它们发生时,整个程序就会崩溃。
+----------------------+
| Shiny new sane |
| code base |
| |
| +-----------------+ | If the legacy
问题在主题中。让我解释一下“为什么”。我在Red Hat Enterprise Linux Server 7.7上运行我的应用程序。当我使用htop检查性能时,我发现很少有线程占用太多的CPU。我添加了一些调试日志,发现在我的代码中没有创建具有高CPU的线程。因此,我假设这些CPU贪婪线程是在我正在使用的第三方共享库中创建的。所以有一个问题:假设我有一个线程id (17405)。有没有办法找出是哪个共享库启动了这个线程?
如果这个问题太琐碎,我向您道歉--我不久前才开始使用Linux操作系统。
谢谢