GDB 的进入和退出

2023-05-16

进入和退出GDB

本节讨论如何启动和退出GDB。主要包括:
  • 输入'gdb’进入GDB调试器
  • 输入quit或者按下Ctrl-d退出
  • 调用GDB:如何启动GDB
  • 退出GDB:如何退出GDB
  • Shell脚本命令:如何在GDB中使用Shell命令
  • 保存输出:如何保存GDB的输出到一个文件

 

2.1 调用GDB

通过运行gdb启动GDB调试器。一旦运行,GDB将从终端中读入命令直到GDB退出。

GDB支持多种选项和参数来定制GDB的调试环境。我们这里讨论的命令行选项覆盖多种情况,在有的平台上,可能不支持有些选项。

 

GDB最长见的启动方式是加一个参数,指出将要调试的可执行程序:

[c-sharp]  view plain copy
  1. gdb program  

也可以指定可执行程序和核心转储文件作为其参数:

[c-sharp]  view plain copy
  1. gdb program core  

如果我们想调试一个正在运行的程序,也可将上边命令中的第二个参数用进程ID号代替:

[c-sharp]  view plain copy
  1. gdb program 1234  

这样,GDB将附着在进程号为1234的进程上(除非你恰巧有个文件叫1234;那么GDB会首先认为这是个核心转储文件,然后尝试载入)。上边的命令中,第二个参数是高级功能,需要完整的操作系统平台支持;当你使用GDB连接到一块裸板上作为远程调试器时,板子上可能没有进程的概念,并且不能获取核心转储文件。此时,GDB将警告你不能附着进程或者不能读取核心转储文件。

 

想让GDB停止参数解析,并将参数传入将要调试的程序中?"--args"参数可以做到,它会阻止GDB解析命令行参数:

[c-sharp]  view plain copy
  1. gdb --args gcc -O2 -c foo.c  

上边的命令运行GDB调试gcc,并且将参数`-O2 -c foo.c'传入gcc程序(详见被调试程序参数)。

 

如果你不想让GDB启动时打印授权信息,可以使用-silent参数:

[c-sharp]  view plain copy
  1. gdb -silent  

更多的GDB启动信息,输入“gdb --help”或者“gdb -h“查看。所有的GDB参数都是顺序处理的,通过使用’-x'参数可以改变处理顺序。

  • 文件选项:选择文件
  • 模式选项:选择模式
  • 启动过程:GDB启动时都做了什么

 

2.1.1 文件参数选择

 

GDB启动时,除了选项外,命令行中的任何参数都会被认为是调试程序和核心转储文件参数(或者进程ID号)。这跟用'-se‘和'-c'(或'-p')选项分别指定效果一样。(实际上,GDB会把它读入的第一个没有跟任何选项关联的参数关联到’-se'选项上;同时第二个没有跟任何选项关联的参数关联到‘-c’/‘-p'选项上。)如果第二个没有跟任何选项关联的参数以'.'开头,GDB会认为这个参数是个进程号,然后尝试附着,如果失败,才会尝试将它作为一个转储文件打开。如果你碰巧有个以'.'开头的核心转储文件的话,加入’./'前缀可以避免GDB将它作为一个进场号对待。如:./12345。

 

如果GDB配置时,没有支持核心转储文件的读入,例如在一些嵌入式平台上。那么它会抱怨有两个参数,并且忽略第二个参数。

 

很多选项有长参形式和短参形式,以下列表描述了他们的关系。只要能够区别选项,GDB也允许在长参形式下,你输入一部分选项名,如--help,我们只输入-hel。(如果你喜欢,也可以用’-‘代替’--‘,所以我们这里只列出一些常用的情况)

 

-symbols file

-s file

file中读入符号表。

-exec file

-e file

指定文件file为待调试文件,也可以和核心转储文件结合使用来检查数据。GDB不会从它里边读符号表。

-se file

指定文件file为待调试的文件,并从中读入符号表。

-core file

-c file

指定文件file为核心转储文件。

-pid number

-p number

挂接进程号为number的进程,就像attach命令一样。

-command file

-x file

执行文件file中的GDB命令。参考命令文件。

-eval-command command

-ex command

执行一个GDB命令。

这个选项常用于多次执行多个命令,并且允许插入’-command‘。

[c-sharp]  view plain copy
  1. gdb -ex 'target sim' -ex 'load' /  
  2.    -x setbreakpoints -ex 'run' a.out  

-directory directory

-d directory

添加源文件和脚本的搜索路径。

-r

-readnow

默认情况下,GDB启动时只读入少数必须的入口符号信息,然后根据需要不断读入符号。本选项迫使GDB启动时立即读入各个符号文件的全部符号,这样做虽然启动速度慢了,但后继的操作会比较快。

 


 

2.1.2 选择模式

 

GDB有多种可选的工作模式——如,批处理模式或者静音模式。

 

-nx

-n

不执行任何初始化文件中的命令。一般情况下,GDB处理完命令行选项和参数后,会执行初始化文件中的命令。参考命令文件。

-quiet

-silent

-q

"Quiet"。不打印引言和版权信息,这些信息在批处理模式中也会被屏蔽掉。

-batch

运行批处理模式。执行'-x'选项指定的命令文件(如果没有'-n'选项屏蔽的话,也包括初始化文件)中的命令,成功后GDB退出值为0。如果在执行过程中产生错误,退出值非零。

在把GDB当作一个过滤器时,批处理模式可能是有用的。例如在另一个计算机上下载和执行一个程序。为了使这个方式更有用,这条消息

Program exited normally.

(无论运行在GDB控制下的程序什么时候结束,这条消息一般会显示出来)在运行批处理模式时并不会被显示出来。

-batch-silent

运行在批处理模式下,很像`-batch'模式,但是它是完全安静的。所有GDB输出到stdout 的都会被禁止(stderr则不受影响)。这比`-silent'更安静一些,在交互式的会话中 它没有什么用处。
例如,当使用的目标机系统平台给出`Loading section'相关信息时,这个选项就是特别有用的。(没见过,估计相关段信息比较多)

注意,对于那些通过GDB(而不是直接向标准输出)打印输出信息的系统平台,本选项也会屏蔽这些信息。

-return-child-ersult

GDB的返回码将是子进程的返回码(子进程指被调试进程)。以下情况例外:

  • GDB非正常退出。例如由于一个不正确的参数或一个内部错误。在这种情况下,退出码和没有`-return-child-result'时是一样的。
  • 用户使用一个显式的值退出。例如`quit 1'。
  • 子进程从没运行,或者没有终止。在这种情况下,退出码是-1。

当GDB被作为一个远程程序装载器或者模拟器接口时,这个选项当和`-batch'或`-batch-silent'一起使用非常有用。

-nowindows

-nw

“没有窗口”。如果GDB编译时内置有图像用户界面(GUI),这个选项告诉GDB只使用命令行接口。如果没有GUI可用,这个选项不起作用。

-windows

-w

如果GDB包括一个GUI,这个选项要求GDB尽可能使用它。

-cd directory

代替当前的目录,在GDB运行时使用directory作为它的工作目录。

-fullname

-f

在GNU Emacs编辑器中调用GDB时,Emacs会设置这个选项,使GDB以一种标准的、可识别的格式显示栈帧信息(该信息会在每次GDB触发断点时显示)。这个格式看起来像是以2个'/032'字符开头,后边跟着以冒号分隔的文件名、行号和字符位置字符串,然后以换行结尾。Emacs-to-GDB程序接口以两个'/032'作为栈帧打印源码的标志。

-epoch

在Epoch Emacs-GDB中调用GDB时,会设置本选项。它告诉GDB修改它的打印功能,以使Epoch在一个单独的窗口中显示表达式的值。

-annotate level

该选项设置GDB内部的注释level,它和'set annotate level'(参考注释)的效果一样。注释级别控制着GDB打印提示符、表达式值、源代码和其他输出信息时,附加注释信息的多/少。级别0是常规级别,级别1用于GNU Emacs调用GDB时,级别3表示输出最多的注释信息,可用于适应任何想控制GDB输出的程序。级别2已经不再使用。

这种注释机制很大程度上已经被GDB/MI代替(参见GDB/MI接口)。

--args

改变GDB对命令行的解析过程,使跟在可执行文件后的参数被处理为命令行参数传递给可执行文件。 这个选项阻止了选项处理。

-baud bps

设置被GDB用来远程调试的任何串口的行速率(波特率或者每秒的位数)。

-l timeout

设置被GDB用来远程调试的任何通信的超时时间(以秒为单位)。

-t device

使用device作为你程序的标准输入和输出。

-tui

启动时激活文本用户操作界面(the Text User Interface)。该界面操作接口管理终端上的多个文本界面窗口,显示代码的、显示汇编代码的、寄存器值的和GDB命令输出窗口(参考GDB 文本用户界面)。

启动'gdbtui‘程序时,也会激活文本用户接口。但不要在GNU Emacs中启动GDB时使用本参数(参考在GNU Emacs中使用GDB)。

-interpreter interp

使用解释器interp作为控制程序或设备的接口。这个选项被使用GDB作为一个後端 并和它通信的程序设置。参见命令解释一节。

`--interpreter=mi’(or `--interpreter=mi2')使GDB使用GDB6.0版本中包含的GDB/MI接口(参见GDB/MI接口一节);5.3版本和之前的版本中包含GDB/MI接口和`--interpreter=mi1'已被废弃。

-write

打开可执行文件和core文件,使它们可读可写。这和GDB里的`set write on'命令一样( 参见修改程序一节)。

-statistics

这个选项使GDB每次完成一条命令返回到提示符时,打印有关时间和内存利用率的统计信息 。

-version

这个选项使GDB打印它的版本号和免责声明,并退出。

 


 

2.1.3 GDB启动过程

 

这里描述了GDB在会话启动期间做了哪些事情:

  1. 设置命令行选项指定的命令行解释器。(参考解释器)
  2. 从你的gdb通用初始化文件(如果GDB编译时制定了--with-system-gdbinit选项;参考System-wide configuration and settings)并且执行文件中的所有命令。 
  3. 从你的主目录-1读取初始化文件(如果有的话)并且执行文件中的所有命令。 
  4. 处理命令行选项和操作数。
  5. 在当前的工作目录读取初始化文件(如果有的话)并执行其中的命令。这只有在当前 的目录和你的主目录不同的情况下才会被做。因此,你可以有多于一个初始化文件,一个是在你主目录下的通用初始化文件,另一个是在你调用GDB的目录下特定于你调试的程序的初始化文件。 
  6. 读取用`-x'选项指定的命令文件。参见命令文件一节,来获取关于GDB命令 文件更详细的内容。
  7. 读取在history文件中记录的命令历史。参见命令历史一节,来获取关于 命令历史和GDB记录它的文件更详细的内容。

初始化文件使用和command files同样的语法(参见命令文件一节),它也被GDB用同样的方式处理。在你主目录中的初始化文件可以设置选项(诸如`set complaints' ),这些选项影响後面的命令行选项和操作书的处理。如果你使用`-nx'选项,则初始化文件不会被执行(参见选择文件一节)。

 

我们可以使用gdb --help来查看,GDB启动时都加载了哪些文件。

 

GDB初始化文件一般被称为`.gdbinit'。由于DOS系统对文件名的限制,DJGPP(一个早期的GNU C系统开发工具,和DOS一个时代)上移植的GDBgdb.ini。Windows系统上移植的GDB使用一种标准的文件名,不过当他们检测到gdb.ini时,也会警告你,并建议你把这个文件名改为标准的名字。


 

脚注

 

[1] 在DOS/Windows系统上,主目录有环境变量HOME指定。

 


 

2.2 退出GDB

 

quit [expression]

q

使用quit命令(缩写为q)退出GDB,或者键入一个文件结束符字符(一般是C-d)。如果你 不提供一个expression,GDB将正常退出,否则它将会把expression的结果当作错误码退出 。

一个中断(通常是C-c)并不从GDB中退出,而是结束正在执行的任何GDB命令然後返回到GDB命令级别。在任何时候键入中断字符都是安全的,这是因为当GDB处于安全的状态下它才会 让中断字符起作用。

 

如果你已经让GDB绑定在一个进程或设备上,并控制它的行为,可以使用detach命令释放它(参看调试一个运行的进程一节)。

 

 


 

 

2.3 Shell命令

 

如果在你调试会话期间,你需要执行临时的shell命令,这不需要离开或挂起GDB,你只需使用shell命令即可。

 

shell command string

调用一个标准的shell来执行command string。如果环境变量SHELL存在,它会决定 哪一个shell会允许。否则GDB会使用一个默认的shell(在Unix系统上是`/bin/sh',在 MS-DOS等系统上是`COMMAND.COM')。

在开发环境中经常需要make工具。在GDB中你不需要为了这个目的而使用shell命令:

make make-args

用指定的参数执行make程序。这等同于`shell make make-args'。

 


 

 

2.4 保存输出信息

 

你可能想保存GDB命令的输出到一个文件中去。这里有几个命令来控制GDB的记录功能。

 

set logging on

打开记录功能。

set logging off

关闭记录功能。

set logging file file

改变当前日志文件的名称。默认的日志文件是`gdb.txt'。

set logging overwrite [on|off]

默认情况下,GDB会添加到日志文件中。如果你set logging on想复盖掉日志文件, 就设置overwrite。

set logging redirect [on|off]

默认情况下,GDB会输出到终端和日志文件。如果你想仅仅输出到日志文件,设置redirect。

show logging

显示日志设置的当前值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GDB 的进入和退出 的相关文章

  • 用于 RHEL 的 gdb-multiarch

    我正在尝试寻找方法来运行gdb 多架构RHEL 中的命令 我已经安装了用于 ARM 处理的 QEMU 模拟器 我想安装GDB进行调试 我能够安装GDB 多体系结构在 Ubuntu 中运行命令成功 sudo apt get GDB multi
  • 在 MacOS 上从源代码构建 gdb

    我正在尝试在 Apple M1 MacBook 上安装交叉编译的 gdb 我下载了 gdb 11 1 并执行了以下操作 tmp src gdb 11 1 configure enable targets all make sudo make
  • 使用 gdb 在指定的可执行文件之外单步执行汇编代码会导致错误“无法找到当前函数的边界”

    我在 gdb 的目标可执行文件之外 甚至没有与该目标对应的堆栈 无论如何 我想单步执行 以便我可以验证汇编代码中发生了什么 因为我不是 x86 汇编方面的专家 不幸的是 gdb 拒绝进行这种简单的汇编级调试 它允许我设置并停止在适当的断点上
  • 使用 gdb 调试反汇编库

    在Linux和Mac OS X中可以使用strapi和next来调试应用程序而无需调试信息 在 Mac OS X 上 gdb 显示在库内部调用的函数 尽管有时会在每个 stepi 指令中推进多个汇编程序指令 在 Linux 上 当我进入动态
  • 从命令输出中设置 GDB 中的环境变量

    我试图在挑战中利用缓冲区溢出 缓冲区从环境变量中获取其值 在 GDB 中 我知道您可以使用以下命令设置环境变量 set environment username test 但是我需要传递用户名变量特殊字符 所以我需要执行以下操作 set e
  • 代码::块 - 警告:GDB:无法设置控制终端:不允许操作

    我已经通过官方存储库在 Ubuntu 14 04 中安装了 Code Blocks 13 12 当我编译时 一切正常 但是当我调试时 shell 中会显示以下消息 警告 GDB 无法设置控制终端 操作不正确 允许的 程序执行到断点 但当我执
  • 缺少单独的调试信息,请使用: debuginfo-install glibc-2.12-1.47.el6_2.9.i686 libgcc-4.4.6-3.el6.i686 libstdc++-4.4.6-3.el6.i686

    CentOS 6 2 GNU gdb GDB 红帽企业 Linux 7 2 50 el6 当我使用 GDB 调试简单的 C 代码时 我看到以下警告 Missing separate debuginfos use debuginfo inst
  • gdb 错误 - 文件不是可执行格式:无法识别文件格式

    我正在尝试使用 gdb 调试某个名为 xdf 的程序 但是当我运行 gdb xdf 时 出现以下错误 home nealtitusthomas X ray astronomy heasoft 6 24 x86 64 pc linux gnu
  • gdb 不会从外部架构读取核心文件

    我正在尝试在 Linux 桌面上读取 ARM 核心文件 但似乎无法找出我的核心文件 有什么方法可以指示 gdb 我的核心文件是什么类型吗 file daemon daemon ELF 32 bit LSB executable ARM ve
  • gcc 中 -g 选项的作用是什么

    我看到很多关于 gdb 的教程要求在编译 c 程序时使用 g 选项 我无法理解 g 选项的实际作用 它使编译器将调试信息添加到生成的二进制文件中 此信息允许调试器将代码中的指令与源代码文件和行号相关联 拥有调试符号可以使某些类型的调试 例如
  • 在 C 程序中追踪数组越界访问/写入的推荐方法

    考虑用 C 语言编写一些不太明显的算法的实现 例如 让它成为递归快速排序 我在 K N King 的 C 编程 现代方法 第二版 书中找到了它 可以从here http knking com books c2 programs qsort
  • GDB单步汇编并显示下一条将要执行的指令。 [复制]

    这个问题在这里已经有答案了 使用 gdb 调试器可以执行什么命令来单步执行并显示将要执行的下一条指令 我熟悉windbg这个操作非常简单 例如 我有以下函数 当我通过以下方式进入代码时si我想显示将要执行的下一条指令 而无需通过反汇编进行完
  • Fortran 在 gdb 中打印可分配数组

    我正在向开源科学代码添加一些功能 我使用很多可分配项 但在正确打印它们时遇到一些问题 例如 我声明并分配 然后使用 real dp allocatable psi n phi some other stuff here allocate p
  • 使用valgrind进行GDB远程调试

    如果我使用远程调试gdb我连接到gdbserver using target remote host 2345 如果我使用 valgrind 和 gdb 调试内存错误 以中断无效内存访问 我会使用 target remote vgdb 启动
  • 多线程调试器[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 GDB 在使用多线程 pthreads 进行调试时存在严重问题 nix 上还有其他好的 C C 多线程调
  • 要让 DDD 在 XP 上正常运行,Cygwin 的最低安装量是多少?

    我在 Windows XP 上使用 Strawberry Perl 附带的 MinGW 中的 gcc 我想要ddd http www gnu org software ddd 数据显示调试器 也是如此 但显然在 Windows 上获得 dd
  • 使用 GDB 远程调试 MPI

    我正在尝试从 pi 的远程访问组中调试我使用 MPI 编写的代码 我无法直接访问 Pi 以便能够使用 GUI 来调试代码 我已经尝试过使用屏幕显示的内容question https stackoverflow com questions 3
  • 如何在 VSCode 中配置调度程序锁定 gdb 选项

    我可以添加额外的参数launch json到 gdb 通过miDebuggerArgs https code visualstudio com docs cpp launch json reference midebuggerargs 像这
  • 在 VSCode Fortran 调试中检查从另一个模块导入的变量

    我正在调试一些包含许多 Fortran 模块的代码 其中一些模块彼此共享变量 不幸的是 带有 VScode 的 gdb 在调试时似乎无法检查导入的变量 目前 当我需要检查导入的变量时 唯一的方法是停止调试 并手动更改代码以包含等于导入变量的
  • 从 gdb 设置 std::string 变量值?

    是否有可能 当调试器在断点处停止时 修改 std string 变量的值 而不需要采取诸如调整当前缓冲区的内存映像之类的黑客手段 例如类似于 set var mystring hello world 试试这个 经过测试并且对我有用 call

随机推荐

  • 【AI 学习笔记】第一章:chatGPT的降临,让我害怕

    关于AI的新闻和各种视频在网络上实在是太多太杂了 xff0c 于是我开始更新这个专栏 AI学习笔记 xff0c 本专栏是以用通俗易懂的语言 xff0c 以我们普通人小白测试人的视角 xff0c 领略2023年的最大黑马人工智能领域 xff0
  • 【AI 学习笔记】第二章:国内套壳犹如雨后春笋,贩卖焦虑成最大赢家

    关于AI的新闻和各种视频在网络上实在是太多太杂了 xff0c 于是我开始更新这个专栏 AI学习笔记 xff0c 本专栏是以用通俗易懂的语言 xff0c 以我们普通人小白测试人的视角 xff0c 领略2023年的最大黑马人工智能领域 xff0
  • XuperOS真·监督与真·共建合成藏品亮相!

    2023年年初 xff0c XuperOS发布了成长计划 xff0c 分别为 xff1a 创世 监督 共建 国际化四个阶段 开放网络 xff08 XuperOS xff09 是基于百度自主研发且开源的区块链技术XuperChain搭建的区块
  • Nginx编译安装时常见错误分析

    本篇文章主要是关于Nginx在编译安装时 xff0c 可能出现的错误的解决方法 1 Nginx启动脚本错误 xff1a env etc init d nginx No such file or directory 明明上传了Nginx服务控
  • Pytorch模型如何查看每层输入维度输出维度

    在 PyTorch 中 xff0c 可以使用 torchsummary 库来实现对 PyTorch 模型的结构及参数统计的输出 xff0c 其可以方便我们查看每层输入 输出的维度以及参数数量等信息 安装 torchsummary 库 xff
  • ERROR: Cannot uninstall ‘xxx‘. It is a distutils installed project and thus we cannot accurately det

    ERROR Cannot uninstall TBB It is a distutils installed project and thus we cannot accurately determine which files belon
  • python装饰器的使用方法

    0 前言 装饰器在 python 中使用的频率非常高 xff0c 它可以在不改动原有函数的基础上对其进行增强功能 下面主要是介绍装饰器的各种用法 xff0c 并理解其运行过程 1 使用 1 1 在函数上添加装饰器 decro 是一个装饰器函
  • 【Linux operation 46】Centos 7.9中安装使用nmap

    1 nmap 介绍 nmap xff08 Network Mapper xff09 是一个开源的网络探测和安全扫描程序 nmap 的设计目标是快速地扫描大型网络 xff0c 当然用它扫描单个主机也没有问题 nmap 以新颖的方式使用原始 I
  • Nginx配置ssl证书

    1 下载证书 在ssl证书管理界面下载对应于Nginx的证书 下载的Nginx证书压缩文件解压后包含 xff1a pem xff1a 证书文件 PEM文件的扩展名为CRT格式 key xff1a 证书的密钥文件 申请证书时如果未选择自动创建
  • 0009基于51单片机智能门禁系统设计

    资料下载地址 单片机原理教程 初级 xff08 视频 xff0c 源仿真源代码 xff09 功能 60 可输入密码进行解锁 可以对IC卡进行注册或注销 可用已注册的IC卡解锁 可实现液晶显示当前时间 密码连续输错三次时能强制退出并报警 具有
  • 基于openstreetmap数据的SUMO路网生成路线

    一 一步到位 xff1a 基于SUMO自带工具smWebWizard py 使用SUMO自带的osmWebWizard py脚本 xff08 sumo tools xff09 进行下载 xff0c 脚本执行后会打开一个操作网页 xff0c
  • STM32烧写一次程序后,再次烧写识别不到单片机

    STM32cubeMX生成的程序 xff0c 编译后烧录一次后 xff0c 在次烧录会发现识别不到单片机了 xff0c 解决方案 xff1a 在STM32cubeMX工程中的SYS中 xff0c Debug中选择Serial Wire 使能
  • 百度超级链学院开课啦!第一讲教你《如何快速建链》

    百度超级链Xuperchain开源之后 xff0c 我们感受到了开发者伙伴们的热情关注 xff0c 其中有不少朋友提到希望进一步了解百度超级链网络的搭建方法 今天 xff0c 百度超级链小X姐姐和百度资深研发工程师静姐姐 xff0c 为大家
  • centos7操作/关闭防火墙

    前言 xff1a 测试环境部署不同端口的服务 xff0c 需要频繁使用防火墙放行端口 xff0c 比较麻烦 xff0c 所以需要彻底关闭防火墙 xff0c 整理了以下命令 xff0c 提供使用 systemctl status firewa
  • [kubernates]kube-flannel-ds 一直 CrashLoopBackOff

    使用 Kubeadm 安装 K8s 集群 xff0c 在安装 flannel 网络插件后 xff0c 发现 kube flannel ds 一直处于 CrashLoopBackOff 状态 xff1a span class token pu
  • Bottom-up And Top-down

    Bottom up 自下而上的处理可以理解为 xff1a 将感应器结果作为输入 xff0c 也就是激励 因此自下而上可以被描述为是数据驱动的 例如 xff0c 在一个人的花园正中有一朵花儿 xff0c 这个花儿的视觉和所有的激励信息都从视网
  • pyqt5在statusbar中不断的刷新显示不同的信息

    在PYQT5中不断的显示新的信息 需求 xff1a 需要在statusbar 上不断的显示新的测试数据 现在在测试例子中 xff0c 数据由numpy生成 总结如下 xff1a span class token comment coding
  • 如何在VS下调试自己写的dll

    一 准备资料 1 qt写的应用程序 test pro xff0c 编译程序可执行文件test exe 2 qt写的动态库程序 dll pro 二 调试步骤 1 用vs打开dll pro 2 dll工程右键属性如下图所示修改 3 编译运行dl
  • 通俗理解网络架构搜索(NAS)

    什么是NAS 我们假设模型必须是一个三层的全连接神经网络 xff08 一个输入层 一个隐层 一个输出层 xff09 xff0c 隐层可以有不同的激活函数和节点个数 xff0c 假设激活函数必须是relu或sigmoid中的一种 xff0c
  • GDB 的进入和退出

    进入和退出GDB 本节讨论如何启动和退出GDB 主要包括 xff1a 输入 39 gdb 进入GDB调试器输入quit或者按下Ctrl d退出调用GDB xff1a 如何启动GDB退出GDB xff1a 如何退出GDBShell脚本命令 x