Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 分段故障(堆芯转储)-pdf2htmlEX_Python_C_Pdf - Fatal编程技术网

Python 分段故障(堆芯转储)-pdf2htmlEX

Python 分段故障(堆芯转储)-pdf2htmlEX,python,c,pdf,Python,C,Pdf,如果我尝试这样的方法: Ubuntu终端中的pdf2htmlEX/path/to/foobar.pdf,我有以下输出: root@user-R520-R522-R620: pdf2htmlEX /home/user/work/a.pdf Preprocessing: 8/8 Segmentation fault(core dumped) 如何修复它?您好,我还没有查看您的源代码,但我可以建议您使用生成的核心转储调试代码 要生成核心转储,请发出命令 ulimit -c unlimited 然后

如果我尝试这样的方法:

Ubuntu终端中的pdf2htmlEX/path/to/foobar.pdf,我有以下输出:

root@user-R520-R522-R620: pdf2htmlEX /home/user/work/a.pdf
Preprocessing: 8/8
Segmentation fault(core dumped)

如何修复它?

您好,我还没有查看您的源代码,但我可以建议您使用生成的核心转储调试代码

要生成核心转储,请发出命令

ulimit -c unlimited
然后运行您的程序,它将崩溃并在核心命名文件中生成转储

指挥

gdb <your_executable> core
gdb核心
在gdb提示符中发出bt命令。 它将在coredump之前返回跟踪,您可以跟踪它以找到根本原因


希望这有帮助……

嗯,这似乎是一个bug。你必须调试它。不太清楚这是什么,因为它被标记为python和C。对于后一个,我首先要确保二进制文件没有被剥离,然后在gdb中运行它。如果二进制文件被剥离(通过执行
文件pdf2htmlEX
)那么
strace
可能会提供一些线索。我自己使用这种程序的经验(与之相反的是html->pdf)表明,不幸的是,他们可能无法很好地测试条件或处理异常,并导致崩溃。例如,可能是1.不允许abs路径2.不允许对现有文件/目录进行写访问3.pdf不是正确的版本4.其中包含unicode 5.需要root才能正常工作等…只是对程序中通常测试内容的建议,但是最近很多免费的东西都没有。试试调试模式,或者在代码中添加一些
printf
,看看它在哪里崩溃以及为什么崩溃。