デバック初心者です。
segfaultエラーが出たのでコアファイルから解析し原因特定しようとしていますがうまくいきません。
コアファイルは出力できているのですが、デバックすると「Core was generated by~」がコアファイル出力時のコマンドラインになってしまいます。
どうしたら正常に「Core was generated by~」が表示されますでしょうか。
よろしくお願いします。
※segfaultの原因としては、サーバに入れているGhostScriptのバージョンが古いため、対象PDFのフォントが読み込めないからかと推測しています。
【ターミナル】
ulimit -c
unlimited
gs -dSAFRE -dBATCH -dNOPAUSE -sDEVICE=jpeg -r300 -sOutputFile=test.jpg test.pdf
GPL Ghostscript 8.70 (2009-07-31) Copyright (C) 2009 Artifex Software, Inc. All rights reserved. This software comes with NO WARRANTY: see the file PUBLIC for details. Processing pages 1 through 16. Page 1 Substituting font NewCenturySchlbk-Roman for CenturyGothic. Can't find (or can't open) font file /usr/share/ghostscript/8.70/Resource/Font/CenturySchL-Roma. Can't find (or can't open) font file CenturySchL-Roma. Can't find (or can't open) font file /usr/share/ghostscript/8.70/Resource/Font/CenturySchL-Roma. Can't find (or can't open) font file CenturySchL-Roma. Querying operating system for font files... Loading CenturySchL-Roma font from /usr/share/fonts/default/Type1/c059013l.pfb... 3379224 2040811 12946528 11631218 3 done. Page 2 Page 3 Page 4 Page 5 Substituting font NewCenturySchlbk-Roman for LMEQGR+CenturyGothic. Page 6 warning: ignoring invalid option raw Page 7 Page 8 セグメンテーション違反です (コアダンプ)
コアファイルOK
core.17792
gdb test.pdf core.17792
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-120.el7 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... a.out: そのようなファイルやディレクトリはありません. [New LWP 17792] Missing separate debuginfo for the main executable file Try: yum --enablerepo='*debug*' install /usr/lib/debug/.build-id/e7/d8ae9c133be5006791cd2375506650ef93fd3f Core was generated by `gs -dSAFRE -dBATCH -dNOPAUSE -sDEVICE=jpeg -r300 -sOutputFile=test.jpg test.pdf. Program terminated with signal 11, Segmentation fault. #0 0x00007fdf9b12c772 in ?? ()
【試したこと】
(コンパイル)
gcc test.c -g -o test
./test
↑参考サイトに書いてあったコマンドを真似ましたがうまくいかず、
(test.cの.cも、そのように記載してあったのでそのまま何も考えずつけました。実際のtestスクリプトの拡張子はphpです)
【ターミナル】に記載の方法でコアファイルを出力しました(なぜ上記の方法でできたのかよくわかっていません)
【補足】
(使用GhostScript)
GPL Ghostscript 8.70 (2009-07-31)
(対象PDF)
アプリケーション Adobe illustrator 24.0(Windows)
PDF変換 Adobe PDF library 15.00
PDFのバージョン 1.6(Acrobat 7.x)
(その他)
対象PDF :test.pdf
スクリプト:test
【参考サイト】
https://jialu.hatenadiary.org/entry/20120113/1330396897
https://teratail.com/questions/84473
https://www.lisz-works.com/entry/2019/04/11/Linux_C%E8%A8%80%E8%AA%9E%E3%81%A7Segmentation_fault%E3%80%82%E3%82%B3%E3%82%A2%E3%83%80%E3%83%B3%E3%83%97%E3%82%92%E8%AA%BF%E3%81%B9%E3%82%8B%E6%96%B9%E6%B3%95
回答1件
あなたの回答
tips
プレビュー