アプリケーションのプロファイルを作成しようとしています。このために、コードを -pg および -lc_p オプションでコンパイルしました。正常にコンパイルされました
実行時に次のエラーが発生します。in free(): エラー: ジャンク ポインターが高すぎて意味がありません セグメンテーション違反: 11 (コア ダンプ)
GDBを実行するとエラーが発生します。
(gdb) b main
Breakpoint 1 at 0x5124d4:
(gdb) r
warning: Unable to get location for thread creation breakpoint: generic error
[New LWP 100085]
cacheIp in free(): error: junk pointer, too high to make sense
Program received signal SIGSEGV, Segmentation fault.
[Switching to LWP 100085]
0x00000000006c3a1f in pthread_sigmask ()
私のアプリケーションはマルチスレッドで、C と C++ コードの組み合わせです。
uname -a
FreeBSD 6.3-RELEASE FreeBSD 6.3-RELEASE #0: Wed Jan 16 01:43:02 UTC 2008 root@palmer.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP amd64
コードは -pg オプションなしで正常に動作しています。-pg でコードがクラッシュするのはなぜですか。私は何かが欠けていますか?