腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
为什么
SIGSEGV
的信号
处理
程序不能捕获我的
C++
抛出异常?
、
、
、
、
我试图看看
SIGSEGV
信号
处理
程序是否可以帮助
处理
未
处理
的
C++
异常,我尝试了:#include <execinfo.h> backtrace_symbols_fd(array, size, STDERR_FILENO);}{只要它终止,它是否通过
浏览 3
提问于2016-09-30
得票数 0
回答已采纳
2
回答
在Linux/GCC下将空指针访问转换为
C++
异常
、
、
、
、
在Linux下,是否有任何方法将空指针访问转换为
C++
异常?类似于Java
中
的NullPointerException。+下的空指针访问是未定义的--行为,只是想知道如
何在
x86_64 Linux/GCC下完成它。在
SIGSEGV
处理
程序
中
,程序的内存和注册信息将可用(如果sigaction()用于注册信号
处理
程序)。如果程序被拆卸,导致
SIGSEGV
的指令也是可用的。最后从信号
处理
程序返回,希望程序启动
C++</e
浏览 4
提问于2016-06-07
得票数 5
4
回答
拦截
c++
异常
、
、
所以我的
c++
程序崩溃了,我得到的错误是: what(): basic_string::_S_create现在,我最近添加到我的代码
中
的是一个
SIGSEGV
处理
程序,所以如果是分段错误,它将继续打印堆栈跟踪。如
何在
c++
中
为未捕获的(或更像是无法捕获的)异常创建退出
处理
程序?
浏览 1
提问于2010-11-22
得票数 3
回答已采纳
1
回答
如
何在
C++
中
处理
SIGSEGV
、
、
、
vector<double>>& trans(vector<vector<double>>* matrix) vector<vector<double>> result; <-- AGAIN
SIGSEGV
浏览 13
提问于2020-05-08
得票数 0
回答已采纳
1
回答
$?内压阱
、
、
、
从bash脚本
中
,我试图
处理
来自
c++
程序的分段错误。我读过在SIGCHLD上使用SIGCHLD可用于此目的的文章。在陷阱
中
,我应该能够测试$?以从程序获得返回代码。例如,请参见。/
sigsegv
{ cout << "
C++
will now cause a
SIGSEGV
浏览 2
提问于2013-07-29
得票数 4
回答已采纳
6
回答
在
C++
中
处理
CPU异常
、
、
、
有没有一种跨平台的方法来
处理
CPU异常,比如分段错误,或者被零除?比方说,我需要调用一些潜在的不安全函数(例如,从插件文件
中
),这可能会导致段错误,或者在执行它之前无法测试的其他问题。我知道,C标准库有信号
处理
函数,但我不知道如何使用它们来
处理
问题,以避免程序终止(我想,我不能跳到有问题的函数执行之前的位置,或者我可以吗?)。在windows下,我可以使用SEH异常
处理
程序,但在Linux或任何其他操作系统下,我不能这样做。如何使用我自己的异常
处理
程序来
处理
这些问题,这
浏览 3
提问于2011-01-25
得票数 7
回答已采纳
3
回答
指向Ada的
C++
,包含指针和异常
、
、
我正在面试潜在的软件工程候选人,并希望将这段
C++
代码翻译成Ada: #include <iostream> { try { *W = 3; }} 与
C++
代码一样,我希望Ada代码的结果是"terminated by signal
SIGSEGV
“。
浏览 50
提问于2019-06-13
得票数 0
2
回答
在Linux上,backtrace_symbols_fd函数不像预期的那样工作
、
、
、
、
我引用了这个堆栈溢出问题来测试是否可以捕获和
处理
: #include <stdio.h>#include <signal.h> #include
浏览 4
提问于2016-09-30
得票数 2
回答已采纳
1
回答
是否知道如何使
C++
在内核故障上抛出异常
、
、
、
、
或者换句话说:如何将内核错误传递到
C++
异常?再次编辑:我已经解释了为什么这个
浏览 4
提问于2014-08-30
得票数 0
3
回答
我可以从
SIGSEGV
处理
程序
中
杀死另一个进程吗?
、
、
、
、
背景:我使用afl-fuzz模糊了一个长时间的进程,方法是将afl-fuzz为每个样本运行的存根
中
要
处理
的文件名传递给它。当长期进程通过
SIGSEGV
崩溃时,我希望存根也生成一个
SIGSEGV
,这样afl-fuzz就会将样本标记为有趣的。从长生命周期进程的
SIGSEGV
处理
程序调用kill(stub_pid,
SIGSEGV
)会起作用吗?
浏览 8
提问于2015-10-01
得票数 2
3
回答
如
何在
c/
C++
程序
中
处理
SIGSEGV
并在接收到
SIGSEGV
时打印回溯轨迹?
我正在构造一个
C++
程序,在这个程序
中
我需要
处理
SIGSEGV
,并且信号
处理
器应该能够打印回溯跟踪。有谁能帮上忙吗。 问候
浏览 2
提问于2010-05-14
得票数 6
1
回答
是否有一种方法只阻止
SIGSEGV
的异步传递,或者找到传递模式?
、
、
、
、
在C/
C++
程序
中
,我使用mprotect和已安装的
SIGSEGV
信号
处理
程序(使用GNU )来实现写屏障(用于世代GC)。当进入写障时,由内核同步传送存储器保护故障信号。为了确保信号
处理
程序总是被同步调用(否则我的代码可能死锁),我想阻止
SIGSEGV
信号的异步传递(例如通过kill (2))。有办法这样做吗?或者,信号
处理
程序是否有一种方法可以确定信号是否同步传递?
浏览 2
提问于2022-03-16
得票数 1
1
回答
当信号阻塞时获取信号
、
、
、
当程序阻塞硬件生成的信号(
如
SIGSEGV
),然后得到这个信号时,我无法理解程序的行为。例如,如果有一个用于
SIGSEGV
的信号
处理
程序,它是用sigaction安装的(信号在
处理
程序中被阻塞),但是程序在
处理
程序
中
获得另一个
SIGSEGV
。在这种情况下,我找不到程序应该如何运行的描述。
浏览 5
提问于2015-08-09
得票数 1
回答已采纳
2
回答
为什么
SIGSEGV
没有破坏这个过程?
、
、
我在UI
中
创建了一个按钮。但是,在调试模式下运行时,调试器(gdb)在第一个函数调用
中
检测到
SIGSEGV
,然后放弃运行该方法的其余部分。当在代码
中
的其他地方故意做非法的事情时,我注意到了同样的行为。我如
何在
不同的平台上有相同的行为?
浏览 1
提问于2019-04-05
得票数 1
回答已采纳
5
回答
在
C++
中
捕获段错误或任何其他错误/异常/信号,就像捕获Java
中
的异常一样
、
、
、
、
这是因为我的程序在某种程度上是一个“服务器”,它至少需要告诉客户端发生了不好的事情,并从错误
中
恢复,而不是畏缩不前……有没有办法做到这一点?更新我理解在
C++
中
也有异常
处理
,但是段错误不是一个异常,不是吗?我不认为当segfault发生时会抛出任何东西。非常感谢,我是
C++
的新手。
浏览 0
提问于2011-05-15
得票数 9
回答已采纳
3
回答
GDB如何
处理
SIGSEGV
、
、
、
、
当使用gdb调试
C++
程序发出
SIGSEGV
时,可以
处理
该信号并要求不停止。我已经搜索了gdb源代码,但找不到起点。
浏览 0
提问于2016-02-17
得票数 1
2
回答
为什么我的信号
处理
程序(抛出异常)不会多次触发?
、
、
、
我正在尝试使用sigaction设置一个异常
处理
程序。对于第一个异常,它工作得很好。但是sigaction
处理
程序在第一个异常之后没有被调用,当第二个信号发生时,程序突然结束。oNewSigAction.sa_sigaction = SigactionHookHandler; int iResult = sigaction(
SIGSEGV
浏览 1
提问于2011-05-03
得票数 2
回答已采纳
1
回答
如何使子进程在收到
SIGSEGV
后异常退出?
、
、
我编写了一个程序,故意让子进程触发
SIGSEGV
。但是,我希望子进程不正常地终止。现在,我在信号
处理
程序中使用exit()。但是exit()调用总是会产生正常的终止。我应该使用哪一种功能来实现这一点?另一个问题是如何让父进程知道子进程因为
SIGSEGV
而终止?(); snprintf(buf, 100, "child %d terminated by signal 11", (int)pid); exit(-1
浏览 7
提问于2017-06-03
得票数 1
5
回答
memcpy()函数是可重入的吗?
、
、
、
我在信号
处理
程序
中
调用了一些
C++
函数,我的程序因分段错误而终止。当我检查gdb时,memcpy()函数是我获得
SIGSEGV
的地方。我想知道memcpy()是不是可重入函数?
浏览 0
提问于2011-03-17
得票数 5
3
回答
关于如
何在
多线程环境
中
捕获
SIGSEGV
、
、
我想知道在多线程环境
中
捕获
SIGSEGV
信号的推荐方法是否可行。我特别感兴趣的是
处理
由类似于
SIGSEGV
的东西引发的*((int *)0) = 0。关于这个主题的一些阅读使我了解到signal()和sigaction(),它们安装了一个信号
处理
程序。虽然在多线程环境
中
这两者都不是很有希望的。然后我尝试使用sigwaitinfo(),在一个线程
中
接收信号,并使用先前的pthread_sigmask()调用阻止其他线程上的信号。它的工作范围是使用raise()在线程<em
浏览 10
提问于2013-04-25
得票数 8
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
如何在Spark中处理结构化流式数据,如日志文件或传感器数据?
如何在JavaScript中处理null和undefined?
如何在Azkaban中处理作业之间的依赖关系?
如何在UG中添加后处理呢?你都是怎么做的
迁移学习:如何在自然语言处理和计算机视觉中应用?
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券