小编GMi*_*ael的帖子

从信号处理程序打印堆栈跟踪

我需要从Linux上运行的64位多线程C++应用程序的信号处理程序打印堆栈跟踪.虽然我找到了几个代码示例,但它们都没有编译.我的阻塞点是从ucontext_t结构获取调用者(生成信号的点)地址.我能找到的所有信息都指向EIP寄存器为ucontext.gregs [REG_EIP]或ucontext.eip.看起来它们都是x86特有的.我需要适用于Intel和AMD CPU的64位兼容代码.有人可以帮忙吗?

c++ linux 64-bit signals stack-trace

6
推荐指数
1
解决办法
4293
查看次数

linux shell,按升序对第 1 列进行排序,按降序对第 3 列进行排序

我的文件包含 3 列数字,例如下面的 5 行数据,

1 811036 395
2 811036 195
1 811036 295
2 811036 95
1 811036 95
Run Code Online (Sandbox Code Playgroud)

我想按升序对第 1 列进行排序,按降序对第 3 列进行排序,

1 811036 395
1 811036 295
1 811036 95
2 811036 195
2 811036 95
Run Code Online (Sandbox Code Playgroud)

我尝试了“ sort -n -k 1 -n -k 3 ”但失败了。如何编写单个 Linux shell 命令来完成此任务?

linux sorting shell

6
推荐指数
1
解决办法
1万
查看次数

在HP-UX和Linux上进行堆栈展开

我需要在某些点获取我的C应用程序的堆栈信息.我已经阅读了文档并搜索了网络,但仍然无法弄清楚我是如何做到的.你能指出一个简单的过程解释吗?或者,甚至更好,以堆栈展开为例.我需要它用于HP-UX(Itanium)和Linux.

c linux hp-ux stack-trace stack-unwinding

5
推荐指数
1
解决办法
1962
查看次数

无法使用 psycopg2 截断表

我尝试使用 psycopg2 从 Python 应用程序截断表。该操作返回 -1,没有异常或任何问题指示。该表没有被截断。该语句本身是正确的,因为当我通过 psql 运行它时它可以工作。

DB服务器和客户端都是RHEL 7.6。我使用 PostgreSQL 11.2、Python 2.75 和 psycopg2 2.5.1.3el7

代码很简单:

m_dbCon = psycopg2.connect(user=dbUser, password=dbPasswd, host=dbHost, port=dbPort, database=dbInstName)
curr = m_dbCon.cursor()
curr.execute('truncate table my_table')
count = curr.rowcount
curr.close()
Run Code Online (Sandbox Code Playgroud)

正如我所说,不会引发异常,计数-1

我找不到这个问题的任何解释。

我究竟做错了什么?

postgresql psycopg2

5
推荐指数
2
解决办法
8362
查看次数

Linux上的多线程C++应用程序中的内存泄漏

我们有一个在Linux上运行的大型多线程C++应用程序.我们看到应用程序内存占用的速度越来越快,并且相信存在一些泄漏.我们已经尝试了我们拥有的每一种工具(valgrind,DynLeak,Purify),但没有找到任何东西.由于此应用程序可以在Windows上运行,我们还尝试了Bounds Checker.也没有帮助.

我们需要一种可以提供帮助的新工具.我查看了Google Perfomrance Tools,MMGR by Paul Nettle,MemCheck Deluxe.他们都没有给我留下深刻印象.

这个任务有什么好的工具吗?

c++ linux memory-leak-detector

4
推荐指数
1
解决办法
1986
查看次数

如何查看 SCons 中将构建哪些目标?

我有一个相当大的 C++ 项目,由几个共享库和可执行文件组成。该项目由 SCons 构建。我的客户要求任何补丁都必须包含尽可能少的二进制文件。换句话说,我必须在构建之前知道要构建哪些目标。此外,如果 A.cpp 生成 libB.sl 进而影响 libC.sl 和 D.bin,我只需要获取 libB.sl 作为输出。我找不到简单的方法来做到这一点。有什么建议吗?

c++ scons

3
推荐指数
1
解决办法
734
查看次数

Python'.join'是否保持输入数据顺序?

我想使用将列表转换为字符串join().我必须保持字符串中列表元素的顺序.我可以确定Python在转换期间永远不会改变顺序吗?

我使用Python 2.7.x.

python python-2.7

1
推荐指数
1
解决办法
85
查看次数

is_file在Ansible中产生语法错误

我将Ansible 2.3.2.0用于我的项目。在这个项目中,我有一个使用is_file测试的任务:

- name: Create repository.ini file
  template: src="{{ playbook_dir }}/../../../repository.ini" dest="/{{ repository_dir }}/repository.ini"
  when: "{{ playbook_dir }}/../../..//repository.ini"|is_file
Run Code Online (Sandbox Code Playgroud)

此任务产生以下错误:

The offending line appears to be:

  template: src="{{ playbook_dir }}/../../../repository.ini" dest="/{{ jse_repository_dir }}/repository.ini"
  when: "{{ playbook_dir }}/../../../repository.ini"|is_file
                                                     ^ here
We could be wrong, but this one looks like it might be an issue with
missing quotes.  Always quote template expression brackets when they
start a value. For instance:
. . . . 
Run Code Online (Sandbox Code Playgroud)

我竭尽所能。

yaml jinja2 ansible

0
推荐指数
1
解决办法
457
查看次数

Perl::Critic 没有看到的 Perl 编译问题

我有这个if语句未通过编译:

        my $string_var;
        if ( $string_var eq "string_value1" || $string_var eq "string_value2" ) &&
           (defined $ENV{VAR_NAME}) {
                die { "error_message" => "error_message" }
        }

Run Code Online (Sandbox Code Playgroud)

我和 Perl::Critic 都没有看到问题。但珀尔说:

syntax error at /opt/app_protect/bin/../lib/perl/F5/BdCfg/Bundle.pm line 178, near ") &&"
syntax error at /opt/app_protect/bin/../lib/perl/F5/BdCfg/Bundle.pm line 181, near "}"
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

它是带有 Perl v5.16.3 的 CentOS 7.6.1810

perl

0
推荐指数
1
解决办法
64
查看次数

Ansible hostvars 没有属性“ansible_nodename”

hostvars[item]['ansible_nodename']我们有几个使用主机item别名的剧本。它通常有效。但有时不行,出现以下错误:

'dict object' has no attribute 'ansible_nodename` 
Run Code Online (Sandbox Code Playgroud)

我打印了内容hostvars,但没有看到这个属性。

我找不到文档来hostvars了解我们可以安全地使用什么ansible_nodename。所以,问题是:

  • 我可以安全地替换ansible_nodename为吗ansible_host
  • hostvars在哪里可以找到其创建内容和算法的描述?

ansible

-1
推荐指数
1
解决办法
1万
查看次数