.mapファイルの使用方法/ MAPパラメータまたは「マップファイルの生成」プロジェクト設定を使用すると、VC++リンカが生成するものは何ですか?いつ私はそれらを必要とし、どのように私はそれらから恩恵を受けますか?リンカが生成する.mapファイルの使用方法は?
答えて
クラッシュを検出するためにマップファイルを使用する方法に関する素晴らしい記事です。すべて手動でこれを行う
http://www.codeproject.com/KB/debug/mapfile.aspx
はとてもつまらないです。
マップファイルを読み込んでクラッシュ場所を見つけるのに役立つツールはありません。もし誰かが私たちを更新してください知っている。
ほとんど必要はありませんが、機能やデータの場所に関する情報を提供するため、いくつかの問題をデバッグするのに便利です。例えば
:すべてのセグメントで
- 詳細情報(コード、データおよび他の)。あなたがツールをデバッグするためのマップファイルを使用することができ、コード
から
プロセスの逆アセンブリを開いて、未処理のアドレスを調べるという意味ですか? – sharptooth
それは可能性です。私が言ったように、あなたはそれらをめったに必要としませんが、あなたがそれらを必要とするなら、あなたは彼らが利用可能であることをうれしく思います。 –
組み込みシステムの場合、マップファイルはもっと便利です。 (あなたはそれにVisual C++を使用しませんが)
プログラム/データメモリがどれだけ近づいているか、特定の変数が存在する場所を知っていることは重要です。
UNIXプラットフォームには、リストファイルと同様のものはありますか?はいの場合は、どうすれば生成できますか? – Shree
いいえ。コンパイラーの資料を確認してください。 –
WinDBGは.mapファイルと.pdbファイルを使用して、.hdmpと.mdmpクラッシュダンプを解析するときにクラッシュをデバッグするのに役立ちます。
基本的にメモリアドレスは、.exe(または.dll)内の関数と変数にマップされます。一般的に非常に便利です。
EDIT:「事実の後」をデバッグする最も有効な方法は、私のためにWinDbgを使用しています(Windowsプラットフォーム)。それを開き、クラッシュダンプを開きます。その後、コードを指すようにソースパスを設定し(シンボルを持っている場合)、.mapと.pdbを指すシンボルパスと.exeへのイメージパスを入力し、コマンドラインに「!analyze -v」と入力します。今度は、コード行とすべてを含む完全なスタックトレースがあります。
パスにMSシンボルサーバーがあり、フルページヒープがオンになっていたり、adplusが実行されている場合は、さらに優れています。わたしのこれらの2つの好きなWinDbgのリソースを参照してください:
最初のピットストップを:: http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx
フォースシンボルをロード:: http://www.osronline.com/ShowThread.cfm?link=182377
役立ちサイト::あなたが追跡する必要があるときhttp://www.dumpanalysis.org/blog/index.php/category/windbg-tips-and-tricks/page/7/
リンカマップは、大規模なプロジェクトに非常に役立ちますコンパイル単位とライブラリ間の依存関係。通常、リンカは問題を引き起こしたシンボルを報告しますが、このシンボル名の単純な検索では結果は返されません(または、read
などのシンボルに対して誤った陽性が返されます)。
リンカーマップがない場合、唯一の選択肢は、使用可能なすべてのソースファイルを分析することです(マクロが使用されている場合は前処理パスを通過した後です)。
リンカーマップには、通常、プロジェクトの別のオブジェクトファイルで必要なオブジェクトファイルと、正確に参照されたシンボルを示す「ファイル/シンボルによる参照」というセクションがあります。
私は、ロケールをサポートしていないシステムに移植しなければならないプロジェクトで作業していました。リンカーは「_localeconv_r
への未定義の参照」エラーを報告していました。これは、ソースを検索して追跡するのに苦労していました。幸いにも、-Map=output.map
で生成されたGCCリンカーマップファイルは、単一の検索ですべての問題のある関数を明らかにしました。
- 1. ヘッダのstd :: mapのリンカでエラーが発生する
- 2. リンカ入力ファイル未使用
- 3. ウェブパックで.mapファイルが生成されないようにする方法
- 4. .shpファイルから.mapファイルを生成するには?
- 5. arm-none-eabiリンカを使用するclangの設定方法
- 6. TypeScriptを使用したRxJ:Web用のProductionファイルの生成方法
- 7. webpackJsonpを使用せずにjsファイルを生成する方法
- 8. PdfReportを使用して.xlsxファイルを生成する方法
- 9. MIDIトラックを使用してMIDIファイルを生成する方法
- 10. AS3を使用してサンプルswfファイルを生成する方法
- 11. GNUリンカに32ビットELF実行ファイルを生成させよう
- 12. デフォルトのgccオプションをリンカに適用する方法は?
- 13. Delphi IoCの作成。 Delphiのリンカが未使用のクラスを削除しないようにする方法
- 14. GNUリンカの使用中に「ファイルが認識されません」
- 15. std :: map :: operator =イニシャライザリストの使用方法
- 16. vim map twoコマンドの使用方法
- 17. Structure Map with OpenRastaの使用方法
- 18. ASCII-Docファイルからメニューを使用してウェブサイトを生成する方法は?
- 19. Alignment APIを使用してAlignment Formatファイルを生成する方法は?
- 20. ibtoolを使用して文字列ファイルを生成する方法は?
- 21. classes.dex.tocファイルの生成方法は?
- 22. OpenEmbedded生成画像の使用方法
- 23. SOAPサービス生成クラスメソッドの使用方法?
- 24. リンカ・スクリプトから2つの出力を生成する
- 25. RDPファイルを生成する方法
- 26. VerySleepyで使用するためにCLionでdbgファイルを生成する方法
- 27. 任意のMap(動的オブジェクト)を使用してDSL Groovy設定ファイルを作成する方法
- 28. XMLファイルを作成または生成する方法
- 29. JSZipを使用してnode.jsのバッファコンテンツを使用してzipファイルを生成する方法は?
- 30. Osmosisが.mapを生成する際のデータを無視する
GNU Gasは '-a'で' .map'ファイルを生成します。 –