SIGSEGVに外部プログラムを引き起こす命令のアドレスを取得したい。これにptraceを使用しようとしましたが、カーネルスペースからEIPを取得しています(おそらくデフォルトのシグナルハンドラーですか?)。GDBはどのようにして正しいEIPを取得できますか?
APIを使用してGDBにこの情報を提供させる方法はありますか?
編集:私はプログラムのソースを持っていません、バイナリ実行可能ファイルだけを持っています。自動化が必要なので、GDBで「実行」や「情報レジスタ」を単純に使用することはできません。自分のミニデバッガに「情報レジスタ」を実装したい:)