質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

Q&A

解決済

1回答

1268閲覧

segfault デバック コアファイル解析

mn_fliyng

総合スコア4

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

0グッド

0クリップ

投稿2021/01/21 15:24

編集2021/01/21 15:44

デバック初心者です。
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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

68user

2021/01/21 15:36

test.c はどのようなファイルですか?
mn_fliyng

2021/01/21 15:46

testファイルはphpスクリプトです。test.pdfを取りこむためのスクリプトです。 【試したこと】にあるtest.cの.cは、参考サイトに記載してあったのでそのまま何も考えずつけました。
mn_fliyng

2021/01/21 16:01

最新のGhostScriptだとsegfault出ずに出来ました!
guest

回答1

0

ベストアンサー

(test.cの.cも、そのように記載してあったのでそのまま何も考えずつけました。実際のtestスクリプトの拡張子はphpです)

正しくは

$ gdb [実行ファイル名] [コアファイル名]

なのでやっていることは全然違いますが、最新版で解決したのはよかったですね。この質問は解決済みとしておいてください。

投稿2021/01/21 22:57

68user

総合スコア2005

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問