私のコンパイルコマンドはmacOSSeria isclang -std=c11 -g -Wall -Werror -fsanitize=address -file.c -o file
にあり、コンパイル後、すべてのデバッグシンボルを含む追加のfile.dSYMファイルも生成します。ただし、WSLまたは他の* nixシステムを使用すると、そのようなファイルは生成されず、デバッグシンボルが実行可能バイナリに埋め込まれていました。だから私はちょうどclangを使ってmacOSで同じことをする方法があるのだろうかと思っています。
プログラムを1回のパスでコンパイルすると、clang
は実際にdsymutil
を実行し、.dSYM
ファイルの作成を担当します。したがって、問題の解決策は、コンパイルとリンクを別々に行うことです。この場合、clang
は自動的にdsymutil
を呼び出しません。
詳細については、 this SO質問)を確認してください。