标签: debug

升级后 gdb 不会附加到进程

我刚刚从 10.04 升级到 11.04,gdb 不允许我再附加到进程我收到错误

附加到进程 10144 无法附加到进程。如果您的 uid 与目标进程的 uid 匹配,请检查 /proc/sys/kernel/yama/ptrace_scope 的设置,或以 root 用户身份重试。有关更多详细信息,请参阅 /etc/sysctl.d/10-ptrace.conf ptrace:不允许操作。

我如何解决这个问题,以便我可以在没有 sudo 的情况下再次调试?

sudo debug debugging 11.04

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

如何使 cron 电子邮件成为我的 @gmail 帐户

我有几个 cron 作业有时会产生错误输出,并且希望在我的“真实”电子邮件帐户中收到通知,因为我不在我的 Ubuntu 笔记本电脑中使用我的用户邮箱,而是使用 cron(或者它可能是后缀)不断尝试通过电子邮件发送本地 root 帐户。

我知道我可以将MAILTO变量添加到 crontab:

ricardo@ricardo-laptop:~$ sudo crontab -l
MAILTO=redacted@gmail.com
# m h  dom mon dow   command
*/5 * * * * /home/ricardo/mrtg/cfg/run.sh
Run Code Online (Sandbox Code Playgroud)

但它似乎并没有关注它

我还尝试将我的电子邮件添加到/etc/aliases文件中并运行newaliases

ricardo@ricardo-laptop:~$ cat /etc/aliases
# See man 5 aliases for format
postmaster:    root
root:          redacted@gmail.com
ricardo:       redacted@gmail.com
Run Code Online (Sandbox Code Playgroud)

尽管如此,每当 cron 想要发送电子邮件时,它仍然会将其发送到root@my.domain.com

ricardo@ricardo-laptop:/var/log$ tail mail.log
Aug  3 16:25:01 ricardo-laptop postfix/pickup[2002]: D985B310: uid=0 from=<root>
Aug  3 16:25:01 ricardo-laptop postfix/cleanup[4117]: D985B310: message-id=<20100803192501.D985B310@ricardo-laptop>
Aug  3 16:25:01 ricardo-laptop postfix/qmgr[2003]: D985B310: …
Run Code Online (Sandbox Code Playgroud)

mail cron postfix debug

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

如何诊断/调试“达到最大客户端数量”X 错误?

我遇到了一个问题,即 X 阻止进程创建窗口,将如下内容发送到~/.xsession-errors

cannot open display: :0.0
Maximum number of clients reached
Run Code Online (Sandbox Code Playgroud)

搜索周围有很多人面临这个问题的例子,有时人们会发现他们正在运行的程序正在耗尽所有客户端插槽。参见例如 LP 70872 (Firefox)、 LP 263211 (gnome-screensaver)。

就其价值而言,我几乎一直在运行 gnome-terminal、thunderbird、chromium-browser、empathy、tomboy 和 virtualbox,在您使用 GNOME 桌面获得的正常内容之上,偶尔还有其他一些零碎的东西。

然而,我的问题不是“我的哪个程序导致了这个问题”,而是如何诊断这个问题?

在上述(和其他)bug、论坛报告等中,建议使用一些工具:

  • xlsclients - 列出给定显示器的客户端应用程序,但我认为这不对应于“X 客户端”
  • xrestop- 顶级X资源工具,每个X客户端一行。许多''客户端,未显示在xlsclients输出中
  • xwininfo -root -children 列出 X 窗口对象

据我所知,问题可能根本不是客户端太多,而是 X 服务器中为长期分离的客户端保留的资源。但是,您似乎也不能(很容易?)将 X 资源与他们的客户联系起来。一旦它开始发生,人们能否有效地诊断这个问题,或者对于我运行的应用程序来说,一种繁琐的分而治之的方法是唯一对我开放的方法吗?

2011 年 1 月更新:我想我已经解决了这个问题。为了任何遇到此问题的人的利益,nautilus 和/或 compiz 或该软件链中的某些东西由于我拥有的壁纸而导致段错误。我选择了一个 XML 文件作为我的墙纸,它定义了一个旋转的图像库。它是手工制作的,但基于 /usr/share/backgrounds/contest/background-1.xml 或类似的。禁用墙纸,从那以后我就没有崩溃过。

我还没有将此标记为已回答,因为实际的具体问题不是我的问题,而是如何诊断它。不幸的是,这主要是反复试验,很糟糕。

xorg debug

40
推荐指数
3
解决办法
4万
查看次数

bash: 设置 -x 日志到文件

我有一个 shell 脚本,set -x可以提供详细/调试输出:

#!/bin/bash

set -x
command1
command2
...
Run Code Online (Sandbox Code Playgroud)

输出如下所示:

+ command1
whatever output from command1
+ command2
whatever output from command2
Run Code Online (Sandbox Code Playgroud)

我的问题是,外壳输出(由set -x)前往stderr,用命令的输出(混合command1command2...)。我很高兴在屏幕上有“正常”输出(比如没有 运行的脚本set -x)和 bash 的“额外”输出分别在一个文件中。

所以我想在屏幕上显示这个:

whatever output from command1
whatever output from command2
Run Code Online (Sandbox Code Playgroud)

这在一个日志文件中:

+ command1
+ command2
Run Code Online (Sandbox Code Playgroud)

(如果日志文件包含所有内容也很好)

set -x 2> file明明好好尝试采取正确的效果,因为它不是set命令的输出,但它改变的bash的行为。

使用bash 2> file整个剧本还没有做正确的事,因为它重定向在这个shell中运行,以及每个命令的标准错误,所以我没有看到的命令的错误消息。

command-line bash scripts debug

24
推荐指数
4
解决办法
2万
查看次数

当系统死机或崩溃重新登录时,我该如何调试?

我对 Ubuntu 还很陌生,我想知道在崩溃时进行调试的好方法是什么?

例如:我安装了 11.04 并且默认的媒体播放器 banshee 使我的笔记本电脑在播放音乐几分钟后崩溃。由于系统完全冻结并且没有错误消息,因此很难找出问题所在。

我遇到的第二个问题是有时系统会崩溃登录。我怀疑它是 Chromium 或 Flash,但我不是 100% 确定。

所以有人有一些关于如何调试这样的东西的提示吗?

debug

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

调试:控制台输出和新贵脚本

如何将 upstart 脚本的输出发送到终端以便在 python 代码中找到回溯?过去只需一秒钟,我就可以在没有追溯的情况下做事。我不得不放置几个文件写入调用来跟踪错误。以前用回溯找到的东西现在变成了几分钟。这是悲惨的。这种情况已经持续了几个星期,我已经厌倦了。请一些人谈谈这个。我觉得我再次使用没有调试器的程序集。

debug upstart console

16
推荐指数
3
解决办法
2万
查看次数

如何调试无线问题?

如何开始调试无线问题?

  • 如何判断 Linux 是否完全识别了我的无线硬件?
  • 与无线连接相关的主要程序/守护进程是什么?
  • 这些程序的日志文件在哪里?
  • 这些程序有我可以访问的调试模式吗?
  • 如何判断错误是在用户空间程序中还是在驱动程序中?

编辑:这最初是一个更复杂的问题,还有关于无线驱动程序黑客和调试的其他查询。我已经删除了这些要点,并计划创建另一个问题来涵盖它们,可能在 Unix 和 Linux SE 上。

debug wireless debugging

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

使用 qt creator 以 root 权限在 ubuntu 上调试 Qt 应用程序

可以使用 root 权限运行我的应用程序sudo,如下所示:

sudo ./MyApp
Run Code Online (Sandbox Code Playgroud)

是否可以使用 QtCreator 使用 root 权限调试我的 Qt 应用程序?如何在 Ubuntu 系统上执行此操作?

root sudo debug qt qt-creator

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

rtlmost.hu上如何使用Moonlight播放视频?

在匈牙利,最大的电视频道是RTL Klub,他们有一个视频存档站点。他们使用 Silverlight 而不是 Flash :( 令人讨厌的是,他们使用最新版本的 Silverlight,大约 4.x。但 Moonlight 尚不支持它。

我已经在 Google Chrome(最后一个开发版本)和 Firefox(最后一个稳定版本)中进行了尝试,并且我已经使用了 Moonlight 的两个版本、最新的 stableprerelease

播放器加载器显示并加载,但等待 30 分钟后没有播放器显示。

如果我想完全切换到 Ubuntu,我该如何播放这些视频?

感谢您的回答。

测试视频在这里。而且这是工作的视频给我。

还向月光开发者报告,这里

调试信息:

Source: http://www.rtlklub.hu/most/player/soda/SodaMediaCenter.Player.Rtl.v3.5.xap
Width: 555px
Height: 490px
Background: #
RuntimeVersion: 4.0.50826.0
Windowless: no
MaxFrameRate: 60
Codecs: ms-codecs
Build configuration: debug, sanity checks
Run Code Online (Sandbox Code Playgroud)

安装了 WinCodecs 的预发布 Firefox 输出:

$ firefox http://www.rtlklub.hu/most/17345_hirado_lelki_terror_-_elrabloi_tobbszor_eljatszottak_hogy_ki
Moonlight: 2.99.0.10
Moonlight: Attempting to load libmoonloaderxpi 
debug_get_option: GALLIUM_DRIVER = softpipe
couldn't …
Run Code Online (Sandbox Code Playgroud)

firefox debug google-chrome moonlight

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

如何让 bash 调试器与 ddd 一起工作?

ddd script.bsh 不打开脚本。它显示了我们的玻璃,如果我想关闭 ddd,它会显示“bash 正忙”...

我找到了一条旧消息,但没有帮助。 https://lists.gnu.org/archive/html/ddd/2008-10/msg00006.html

我找不到 ddd-3.3.12-test6.tar.gz,因此我使用的是 ubuntu 存储库中的 ddd 版本。bashdb 也已经安装。使用 apt-get install ddd bashdb。

任何人都可以在 Precise 上使用 ddd 进行 bash 吗?

bash debug

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