标签: debug

在GDB中,如何直接跳转到最顶层的调用栈帧?

我有一个 C 程序,它在深入陷入无限递归混乱之后对错误进行分段。在 GDB 中回溯过程是没有用的,因为调用堆栈帧至少有1000 帧深,并且重复的函数调用是一系列四个常见的递归函数调用(因此断点似乎没有用)。对 backtrace 的重复调用只是一遍又一遍地读出四个函数名称。我突然想到,做 'up' 'up' 'up'... 会让我更上一层楼,所以我可以看到这种模式首先开始发生的地方,但似乎从最顶层的调用开始会更有效堆栈帧并逐步下降,因为我的直觉是无限递归在过程的早期开始。如果调用堆栈总共有 N 帧,我知道我可以做

gdb>> up N
Run Code Online (Sandbox Code Playgroud)

到达堆栈的顶部(第 N 帧),但问题是我不知道 N。是否有用于查找调用堆栈中的总帧数的命令?或者,是否有一个巧妙的内置 GDB 命令用于跳转到最顶层的帧?我突然想到最顶层的框架应该是main()函数——我可以利用这些知识到达最顶层的框架吗?

c gdb debug

10
推荐指数
2
解决办法
8780
查看次数

如何调试“X11 连接因身份验证错误而被拒绝”

我在通过 SSH 进行 X 转发时遇到问题。我已经战斗了很长时间,但似乎没有人能提供帮助。

我现在采取不同的策略。我想知道如何调试错误?

我应该查看哪些日志,我应该设置哪些额外的标志(-v 等)以及我应该寻找什么?

进一步编辑:

如果我将 Putty 登录到服务器并尝试xeyes,我会得到:

PuTTY X11 代理:尝试了错误的授权协议错误:无法打开显示:本地主机:10.0

如果xauth generate $DISPLAY我得到:

PuTTY X11 代理:尝试了错误的授权协议xauth: (argv):1: 无法打开显示“localhost:10.0”。

ssh logging x11-forwarding debug

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

Microsoft Word 正在跳过表格标题编号 - 如何调试?

我在文档中有一系列表格。标题编号应为表 3.1、3.2、3.3 等。

然而不幸的是,有一个被跳过(即 3.1、3.3、3.4...)。也许这是因为我删除并重新插入了一个表。

我曾尝试右键单击并在标题编号上选择“更新字段”。

我也试过按Alt-F9并查看代码。似乎没有什么不妥。

有没有人对如何调试这个有任何想法?

microsoft-word-2007 debug caption microsoft-word

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

VSCode - 隐藏“未捕获的异常”复选框时中断

我曾经在 VSCode 调试侧栏中的“断点”部分下看到一个名为“未捕获的异常”的复选框,就像这张图片中的那样(看图片的左下角)

调试图像

但我再也看不到它了,我也不记得它是什么时候消失的。我现在使用的是 VSCode 1.37.1。

是否有新的设置来显示/隐藏它?

debug visual-studio-code

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

如何查看键盘上的所有按键?

我得到了一台笔记本电脑来修复 - 它是“随机滚动文档”。我几乎可以肯定这是键盘中的错误连接,导致向下翻页。有没有程序可以用来监视键盘上的所有按键操作,看看是否是这种情况?

windows keyboard debug

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

Valgrind 找不到调试符号,即使使用 --extra-debuginfo-path

我正在尝试在基于 Debian 的嵌入式 PowerPC 系统上安装 Valgrind。我已经成功地交叉编译了它,但现在它抱怨找不到调试信息。我已将相关共享对象的未剥离副本放入文件系统,并将此目录告知 Valgrind,但它仍然无法正常工作。

调用:

root@192.168.0.200:/# /root/valgrind/bin/valgrind --extra-debuginfo-path=/root/valgrind/usr/lib/debug /path/to/my_program -log
==6000== Memcheck, a memory error detector
==6000== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==6000== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info
==6000== Command: /path/to/my_program -log
==6000==

valgrind:  Fatal error at startup: a function redirection
valgrind:  which is mandatory for this platform-tool combination
valgrind:  cannot be set up.  Details of the redirection are:
valgrind:
valgrind:  A must-be-redirected function
valgrind:  whose …
Run Code Online (Sandbox Code Playgroud)

debian powerpc debug valgrind

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

ASCII 艺术独角兽单线

我需要整理我的调试信息。我有一个笑脸:D,但有人建议使用独角兽。有一些关于 ASCII 独角兽的不错的资源(例如http://www.ascii-art.de/ascii/uvw/unicorn.txt),但这些资源都太大而无法放在一行中。我应该如何写一个小的 ASCII 独角兽?

ascii debug ascii-art

8
推荐指数
2
解决办法
3363
查看次数

在 Visual Studio 2013 的调试模式下重复上次测试

可以重复上次测试,但在调试模式下?

运行最后一个测试时(即使我上次在调试模式下手动运行),它将在没有调试模式的情况下运行。

我想也许我可以将快捷键映射到底层命令。但是,使用命令窗口时,我看不到建议可以完成的命令。

重复上次运行

在调试模式下测试

debug visual-studio-2013

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

记录/调试 bash 启动过程

我的 bash shell 有时需要相当长的时间才能启动,可能是由于我的各种点文件中发生了很多事情(例如 .bash_profile 等)。有没有办法正确记录 bash 启动过程,包括函数调用、每个任务花费的时间等等?我想确定初创公司是否有任何特定部分比其他部分慢。

bash logging debug

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

无法在 arch linux 上使用 gpg 导入密钥

我是一个拱形 4.9.8-1 系统。我想为 gpu passthrough 安装 linux-vfio 内核并解决 IOMMU 组错误的问题。

尝试安装 linux-vfio 内核时,由于缺少密钥,出现以下错误。

$ yaourt -S linux-vfio
.
.
.
==> Verifying source file signatures with gpg...
    linux-4.9.tar ... FAILED (unknown public key 79BE3E4300411886)
    patch-4.9.8 ... FAILED (unknown public key 38DBBDC86092693E)
Run Code Online (Sandbox Code Playgroud)

我一直在尝试用 gpg 导入一个密钥,现在我尝试了很多不同的东西,但我一直遇到同样的错误,我用 pacman 安装了 gnupg 包。

$ gpg --recv-key 79BE3E4300411886
gpg: keyserver receive failed: Connection refused

$ gpg --keyserver pgp.mit.edu --recv-keys 79BE3E4300411886
gpg: keyserver receive failed: Connection refused
Run Code Online (Sandbox Code Playgroud)

检查服务器是否可用

$ gpg-connect-agent --dirmngr
> keyserver --resolve hkp://pool.sks-keyservers.net
S # …
Run Code Online (Sandbox Code Playgroud)

networking arch-linux debug gnupg gpg-agent

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