web-dev-qa-db-ja.com

デバッグシンボルを実行可能バイナリに入れるようにclangに指示するにはどうすればよいですか?

私のコンパイルコマンドはmacOSSeria isclang -std=c11 -g -Wall -Werror -fsanitize=address -file.c -o fileにあり、コンパイル後、すべてのデバッグシンボルを含む追加のfile.dSYMファイルも生成します。ただし、WSLまたは他の* nixシステムを使用すると、そのようなファイルは生成されず、デバッグシンボルが実行可能バイナリに埋め込まれていました。だから私はちょうどclangを使ってmacOSで同じことをする方法があるのだろうかと思っています。

9
X.Yang

プログラムを1回のパスでコンパイルすると、clangは実際にdsymutilを実行し、.dSYMファイルの作成を担当します。したがって、問題の解決策は、コンパイルとリンクを別々に行うことです。この場合、clangは自動的にdsymutilを呼び出しません。

詳細については、 this SO質問)を確認してください。

4
filaton