一位同事曾经告诉我,在Linux上一切调试失败时,最后的选择是使用strace。
我试图学习这种奇怪工具背后的科学知识,但是我不是系统管理员,我并没有真正获得结果。
所以,
总之, 在简单的话 ,怎么做这个东西的工作?
Strace概述
strace可以看作是轻量级的调试器。它允许程序员/用户快速找出html" target="_blank">程序如何与OS交互。它通过监视系统调用和信号来做到这一点。
当您没有源代码或不想为真正的源代码而烦恼时,可以 使用 Good。
另外,如果您不想打开GDB,而只是想了解外部交互,则对您自己的代码很有用。
前
几天我对strace进行了介绍,这是 一个很好的小介绍 :strace hello
world
问题内容: 我曾经短暂地附加一个过程。该过程创建了90个线程。当我找到有问题的线程时,我必须繁琐地搜索父线程,然后是祖父母线程,一直到根进程。 是否有技巧或工具可以快速找出哪个线程创建了另一个线程?还是更好,打印类似树的线程创建树? 问题答案: 跟踪编辑的子进程。
strace 是 Linux 环境下的一款程序调试工具,用来监察一个应用程序所使用的系统呼叫及它所接收的系统信息。 strace 是一个有用的小工具,它可以通过跟踪系统调用来让你知道一个程序在后台所做的事情。Strace 是一个基础的调试工具,在大多数 Linux 系统上默认已经安装;但是即便你不是在跟踪一个问题的时候它也是一个极好的软件。它能告诉你很多关于一个 Linux 程序怎样工作的信息。
问题内容: 我正在使用cython为数学模型生成更快的代码。我很难编译代码,但是以某种方式设法使用.bat做到了: 运行正常… 我的问题是关于pyximport。我有其他人使用pyximport.install()编写的旧代码。我无法弄清楚它的作用以及为什么要使用它,因为我已经在自己编译代码了。因此,有人可以以非常简单的方式(对于虚拟对象)向我解释pyximport的作用吗? 附加信息:我有一个使
dll 应该保存在哪里,node 第三方库应该如何封装,有没有最佳实践
问题内容: 我不太清楚当我这样说时会做什么: 我可以稍微了解使用它的原因,因为它不浏览整个数据库表以更新字段,而是仅更新新添加的记录。如我错了请纠正我。 所以我想做的是使用这样创建索引: 一旦执行此操作,文档就根本不会上传到索引。我要去哪里错了? 任何帮助,不胜感激。 问题答案: 如果您的表中有一个时间戳列(例如),则最好使用它代替ID号。这样,当记录更新时,您也可以修改该时间戳,输入插件将提取记
问题内容: 在Objective- C中,我调用该方法来记录异常。如何在Swift中调用它? 问题答案: 使用Swift 2,您可以将Swift函数和闭包作为C函数指针传递 原始答案 从Xcode 6 beta 6开始,您不能这样做。 Swift确实支持传递函数指针,但是它们几乎就像不透明指针一样被对待。您既不能定义指向Swift函数的C函数指针,也不能在Swift中调用C函数指针。 这意味着您从