我有一个关于分段断层的基本问题。下面的伪代码更好地解释了我的问题。我有一个指向外部api的指针,在运行它时,会发生分段错误。我的问题是接下来会发生什么。指针api指向的内存会被删除吗?在分段故障发生后,OS会做什么?
int main () {
XAPI* api = new XAPI();
// Assume: there is a segfault while in run()
// What happens after segfault
// does `delete api;` get executed?
api->run();
我用python 3.5.2和PyQt5写了一个小的模拟程序。我之前使用的是PyQt4,在Qt内部出现了间歇性分段故障。出于这个原因,测试要求程序运行大约20次,以确保故障不会发生。
现在,我想知道是否有一种简单的方法可以编写一个可以使用gdb run运行的脚本,它可以执行以下操作:
for i in range(20):
run MyProgram.py
wait(startup time)
input keyboard commands with appropriate intervals
wait for program to run
if er
我正在开发一个自动测试工具,它发现了通常被显示为分段错误的错误。我试图找出这些检测到的bug中有多少是唯一的。唯一性是我研究中使用的一个特殊术语:如果两个分割错误是由不同的语句触发的,那么这两个词被认为是不同的。我目前判断两个分段错误是否由不同语句触发的方法是使用GDB。例如:
(gdb) r
Program received signal SIGSEGV, Segmentation fault.
0x00007f050c9efac2 in gsl_stats_quantile_from_sorted_data (sorted_data=sorted_data@entry=0x7fffe14