欢迎您访问INT 信号处理函数在控制台按 Ctrl-C 后未进入的问题分析!

INT 信号处理函数在控制台按 Ctrl-C 后未进入的问题分析

更新时间:2024-07-19 15:09:39作者:佚名

引用:

----------------------------------------------------------------------------------------------------

原始海报:

我编写了一个INT信号的处理函数,在处理函数中设置断点并点击Go,但是按Ctrl-C之后,MC并没有进入处理函数,程序直接退出,没有给出预期的输出。

----------------------------------------------------------------------------------------------------

按下Ctrl-C之后确实会发送信号,但是gdb中的默认设置会导致该信息被GDB截获信号 signal,被调试的应用程序将收不到该信号。

有两种方法可以使被调试的应用程序接收信号:

(1)改变gdb信号处理的设置

例如信号 signal,以下设置将告诉 gdb 在收到以下信息时不要停止、打印或传递给目标程序:

(2)使用gdb命令直接向被调试的应用程序发送信号

首先在需要发送信号的语句处设置断点,然后运行程序,当程序停在断点处时,使用gdb命令向调试目标程序发送信号。

;-( 不过MC暂时还不支持这两种方式,所以你们的调试情况还是等MC新版本能方便的支持吧,哈哈,暂时还是手动调试吧。

新版本将添加

(1)调试器的信号处理设置

(2)支持发送信号命令

调试用例:

============

更改 gdb 的信号处理设置

============

5.3

事件 A 是可以发生的事件。事件的种类有 ,并且为每种事件赋予一个名称和一个 。例如,在 Unix 中,事件 A 是当您键入 (通常是 Cc)时获取的事件;事件 A 是从远离所有正在使用的区域的某个地方获取的事件;当闹钟计时器响起时(仅当您有闹钟时)。

有些 , , 是 的一部分,例如 , ;如果 还没有以其他方式 到达 ,这些是致命的(它们会杀死你的 ),但它是致命的贝语网校,因此它可以执行 : 来杀死 。

GDB 可以对你的 中的任何一种 进行处理。你可以告诉 GDB 对每种 进行什么处理。

,GDB 的设置是让非类属对象进入你的程序(这样就不会影响它们在程序中的作用),但会阻止你出错。你可以使用 来执行这些。

信息

信息

打印所有类型的表格以及 GDB 已告知每种类型的表格。您可以使用它来查看所有类型的 。

info 是 info 的别名。

...

GDB 的方式。可以是 或其名称(在 处带有 或 'SIG'); 形式为 'low-high' 的 列表;或单词 'all',所有已知的 。 说明要做什么。

的全名是:

当出现这种情况时,GDB 不会停止您的操作。它仍可能会打印一条消息,告知您已进入。

停止

当出现这种情况时,GDB 会停止您的操作。这也是打印。

打印

当出现这种情况时,GDB 会打印一个。

GDB 根本不是。这也是。

经过

GDB 允许您看到这一点;您可以,否则可能如果是致命的并且不是。通过并且是。

GDB 不允许您看到这个。并且是。

当 a 停止你的 时, 直到你 才会 。 你看到 然后,如果 pass 处于 中,则在那时。 换句话说,在 GDB a 之后,你可以使用 pass 或 直到你 看到 当​​你 。

将 设置为 , ,对于非例如 ,和 ,则传递 ,并停止打印 ,对于 ,则传递 。

您还可以使用 来从 中获取 ,或使其看到它看不到的 ,或随时赋予它 任何 。对于 ,如果您的 由于某种错误,您可能会将 存储到 和 中以查看更多;但一旦它看到 ,您的 就会被视为 的致命错误。为此,您可以使用“0”。查看您的 。

============

使用gdb命令直接向调试目标程序发送信号

================

3. 产生信号

使用命令可以给被调试的程序产生一个信号,比如中断信号Ctrl+C。这对于程序的调试非常方便。你可以在程序的任意位置设置断点,使用GDB在断点处产生信号。这种精确的信号产生对于程序的调试非常有利。

语法为:;,UNIX系统信号通常范围是1到15。所以;的值也在这个范围内。

命令的kill命令与shell的kill命令有所不同,当系统kill命令向被调试程序发送信号时,会被GDB截获,而kill命令发送的信号则直接发送给被调试程序。

===================

为您推荐

温州私立第一实验学校:名校长挂帅,名师云集,助力拔尖人才培养

在瓯海知名民办学校任教,担任重点班和直升班语文老师,教学成绩优异,连续多年获得“学生最受欢迎的老师”称号。从教21年,先后在宁波知名民办学校和乐清知名民办学校清北班任教,教学经验丰富,积极钻研教材。历经3届高三,培养多名985、211优秀学生,深受学生家长认可。

2024-07-19 11:12

郑州四中系学校汇总:初中部分详细介绍

“四中系”的学校都是哪些?“四中系”学校汇总郑州四中南校区(二七区实验中学)是郑州四中教育集团旗下的优质公办初级中学。

2024-07-19 11:12

咸阳市:历史文化名城,国家立体交通新枢纽

咸阳师范学院简介咸阳师范学院是一所以教师教育为特色的省属本科院校。学校肇始于1978年5月的“陕西师范大学咸阳专修科”。2001年5月,与陕西省咸阳教育学院合并,成立咸阳师范学院。咸阳师范学院2017年招生章程咸阳师范学院奖学金设置办法二、咸阳师范学院学生学业优秀奖学金

2024-07-19 10:11

保定徐水高中教育资源丰富,多所学校各具特色

徐水目前有四所高中,其中两所重点高中。1、保定徐水高中怎么样?徐水目前有四所高中,其中两所重点高中:徐水综合高中,徐水一中,一所普通高中:巩固庄中学,一所私立:天源,此外还有一所职教中心。徐水区、满城区、清苑区也都有各自的高中,实力和主城区的这几个不相上下。

2024-07-19 09:12

新东方出国留学培训:一站式服务助你实现留学梦

加拿大商业分析专业排名TOP4

2024-07-19 09:07

魏杰教授解读十四五期间要办好的五件大事

公司债最近也不断出事了,而且我们很震惊,好多好企业竟然不能还政府的对外债务,像华夏幸福,像华晨,像河南一家大的国有企业都出问题,连我们清华的紫光都出问题,这是我们想不到的事,信用还是3A级的。总体来讲,“十四五”时期按照新发展思路,就是要集中力量办好这五件大事。

2024-07-19 08:09

加载中...