void *entrypoint;
/*virtual address of process*/
fscanf(debuggedfile, "%p", &entrypoint);
ここで、debuggedfile は、int エントリ ポイントがあるオフセットにある elf ファイルへのストリームです。ptrace(PTRACE_PEEKTEXT, 0, entrypoint, 0) を使用すると、-1 が返されます
ELF ファイルを解析するコードを作成している場合は、独自の ELF パーサーを手動でコーディングする代わりに、libelfのような標準ライブラリを使用することをお勧めします。
そうすれば、拡張セクション番号付けを使用する ELF オブジェクトなど、時折発生するコーナー ケースを libelf に処理させることができます。
libelfのBSD ライセンス およびGPL 準拠の実装を開発しているアクティブなオープンソース プロジェクトがあります。