ソースコードとオブジェクトコードが対応していることを確認する


cコンパイラでコンパイルしたオブジェクトコードがソースコードに対応していることを確認する方法はないでしょうか？

## 追記

多くの回答を頂きありがとうございます。環境はMac上でiOS開発です。




[RCS](https://ja.wikipedia.org/wiki/Revision_Control_System)や[CVS](https://ja.wikipedia.org/wiki/Concurrent_Versions_System)などの古めのソース管理システムですと、キーワード置換と言ってソースコード中に`$Id$`のようなキーワードを記述すると、コミット時に

[code]

     $Id: samp.c,v 1.5 1993/10/19 14:57:32 ceder Exp $
    
[/code]

のような文字列に置換してくれる機能があります。これを使用してソースコード中に

[code]

    const char id[] = "$Id: samp.c,v 1.5 1993/10/19 14:57:32 ceder Exp $";
    
[/code]

等の記述をすれば自動的にオブジェクトコードにも同一の文字列が埋め込まれることになります。この方法でソースコードとオブジェクトコードの対応を確認していた時代もあります。

* * *

Visual
Studioでは、オブジェクトファイル内のデバッグ情報内にソースコードのチェックサムを保持しているため、デバッガーなどはオブジェクトコード、デバッグ情報とソースコードとが一致しているかを確認しています。[コンパイルオプション`/ZH`](https://docs.microsoft.com/en-
us/cpp/build/reference/zh?view=vs-2019)でハッシュアルゴリズムを選択できることからもこの様子を覗い知ることができます。

