###前提・実現したいこと
C言語でのコアダンプはどこまでエラーの情報がわかるのでしょうか?
解析方法について教えていただきたいです。
#経緯
文字列のコピーを試したところ、エラーが発生しました。
原因は、分かっていて、静的領域置いていた変数を書き換えようとしたことが原因でした。
char *s = "test1"; //NG char s[] = "test1"; //OK
それはいいのですが、コアダンプを見たところ、
問題発生個所の情報はわかりますが、
原因は静的領域を書き換えようとしたためという情報は分からないように思えました。
-コピー関数でのエラーだと分かるが、どの変数に起因しているかわかりにくい、
仕様を理解していないと原因が分からない。
-個人的にはconstをつけてないので書き換え禁止だという認識が全くなかった
ダンプの情報は、こういうものなのか、見方・使い方が間違っているのか、更に解析する方法があるのか
教えていただきたいです。
###発生している問題・エラーメッセージ
Program terminated with signal 11, Segmentation fault. #0 0x0000000000400618 in scpy1 (dest=0x400707 "test1", source=0x40070d "test2") at p-112.c:8 8 while(( dest[i] = source[i]) != '\0'){ Missing separate debuginfos, use: debuginfo-install glibc-2.17-106.el7_2.4.x86_64
###該当のソースコード
while(( dest[i] = source[i]) != '\0')i++;
###補足情報(言語/FW/ツール等のバージョンなど)
gcc
回答3件
あなたの回答
tips
プレビュー