問題タブ [debug-information]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - c++ dll のデバッグ時にデバッグ情報が見つからない
そこ:アプリケーションはC#からビルドされ、DllはC ++からビルドされ、それらは異なるソリューションにあります。Dll のデバッガーを起動すると、常にメッセージ ボックスがポップアップ表示され、「'App.exe' のデバッグ情報が見つからないか、一致しません。NGen バイナリのシンボルの読み込みがスキップされました。」というメッセージが表示されます。
ありがとう。
ps App.pdb をいくつかの場所に配置しようとしましたが、まだ機能しません。
debugging - Linux gcc でのデバッグ ビルドで、一部のシンボル情報が欠落している
autotools を使用する Github で C プロジェクトをフォークしました。William Pursell の投稿に従って、デバッグ オプションを使用してビルドした後、一部の関数にステップ インできません。デバッガーは「no debug info」と表示します。
ここに私のビルドプロセスがあります:
ソース ツリーには、perfo/、src/、src/core/、src/utils/、tests/ などの 2 つのレベルのフォルダーがあります。
tests/xxx をデバッグすると、tests/xxx.c には関数のシンボルがありますが、たとえば src/core/global.c にはありません。
こちらの情報から、オブジェクトファイルを確認してみましたが、デバッグ情報のプロパティは同じようです。
Eclipse CDT でデバッグしています。デバッグ ビルド プロファイルは同じです。たとえば、コンソールを使用して最初から再構築すると、Eclipse CDT は最新であるため、デバッグ時に再構築されません。もちろん、コンソール ビルドと Eclipse ビルドの両方からデバッグを試みました。デバッグ構成は問題ないようです: アプリケーション = Debug/tests/.libs/reqrep、ノンストップ モードで GDB (DSF) を使用、ビルド構成はデバッグ、ソース ルックアップ パスはデフォルトです。
任意のアイデアをお願いします?
c++ - デバッグ情報の警告なしでプロジェクトをリリースする
プロジェクトをリリースでビルドおよび実行していますが、デバッグ情報を使用してビルドしたくありません。
しかし、プロジェクトを実行すると、この質問と同じエラーが表示されます:デバッグ情報が見つからないか、ビジュアルスタジオのものと一致しません
「foo.exe」のデバッグ情報が見つからないか、一致しません。デバッグ情報を使用してバイナリがビルドされませんでした。
Visual Studio 2010 に Release でのデバッグ情報の検索を停止するように指示するにはどうすればよいですか?
編集:
私はC++で作業しています。興味深いことに、別のプロジェクトからビルドした .dll にリンクしたときに、これに気付き始めました。これと関係があるのだろうか?
c++ - debuginfo rpm の使用方法
debuginfo rpm (リンク) (pdns-debuginfo-3.4.1-1.el6.MIND.x86_64.rpm) があり、pdns をリモート デバッグしたいと考えています。
Linux ボックスに gdb gdbserver をインストールしました。を使用して pdns をリモート デバッグするにはどうすればよいdebuginfo
ですか?
ocaml - プロダクションOCamlコードからのスタックトレース?
これは、キャッチされていない例外でスタック トレースを取得する方法を説明しています。
キャッチされていない例外で OCaml にスタック トレースを生成させることはできますか?
プロダクションコードでそれを行うことは可能ですか? さらに便利なことに、未処理の例外をログに記録して続行することは可能ですか (たとえば、Web システムの場合は他の Web 要求で)?
c++ - ベクトル範囲チェックエラーを見つけるために関数が呼び出されている場所をC++で見つける
ピンポインティングに問題があるベクトルから範囲チェックエラーが発生しています。私は非常に大規模な C++ フレームワークで作業していますが、これはあまりうまく設計されていません。Python は UI として使用され、C++ 関数/クラスを呼び出してすべての面倒な作業を行います。したがって、実際に実行するコマンドは「python thing.py --option1 etc...」です。ベクトル内のインデックスで見つかったオブジェクトを返す関数があります。設定された bool に基づいて使用できるベクトルは 2 つあります。より具体的には、次のようなものがあります。
問題は、ベクトルの長さが異なるため、間違ったインデックスを指定したり、'trig' bool を設定するのを忘れたりすると、範囲外になる可能性が高いことです。この関数またはそのようなものは、多くの異なるファイルで何千回も呼び出されるため、この範囲チェックエラーが実際にどこから来ているのかを見つけるのに苦労しています. 現在、コードのブロックをコメントアウトするか、印刷物を入れて、コードがクラッシュする前にコードがどこに到達するかを見つけようとしていますが、これを行う必要がある場所の数を考えると、これは非常に困難であることが証明されています.
範囲チェック エラーが発生したときに、この関数が呼び出された場所を簡単に出力する方法はありますか? スタックトレースか何か?私はこのようなことにあまり詳しくありません。
更新: 次のようなコマンドで GDB を使用してみました:
いつも同じエラーが表示されます。次のようになります。
次に、GDB コマンド ラインに移動します。bt と入力すると (スタック トレースを取得するための正しいコマンドのようです)、「スタックがありません」というメッセージが表示されます。
このコマンドでも Valgrind を実行しようとしましたが、有用なものは何も見られません。ただし、valgrind は初めてなので、何かが足りない可能性があります。以下は、エラーが表示される場所周辺の valgrind の出力です。