問題タブ [debug-symbols]
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 - GCCを使用して共有ライブラリでデバッグシンボルを有効にする
を使用して共有ライブラリを作成していgcc
ますが、共有ライブラリからメモリリークが発生している可能性があります。デバッグするには、共有ライブラリを作成するときにデバッグシンボルを有効にする必要があります。
ビルドするために、私は使用していますgcc -g ...
(-g
デバッグ情報を有効にするためです)
ただし、ライブラリ(*.so
ファイル)のサイズは-g
、となしの両方で変更されていません-g
。その上、私はのようなツールから有用な情報を得ていませんVALGRIND
。
誰かが私に間違いを指摘できますか?
visual-studio - Prevent Visual Studio from trying to load symbols for a particular DLL
I have Visual Studio 2005 set up to use Microsoft's symbol servers. I also have UltraMon installed, which injects a hook DLL into every process. Whenever I start debugging my MFC application, Visual Studio says:
for anything from the blink of an eye to several tens of seconds. It's never going to find those symbols... Can I tell it not to bother looking?
(I tried creating an empty RTSUltraMonHookX32.pdb
file, but Visual Studio sees that it's not good and carries on looking.)
.net - 実稼働環境にデバッグシンボル(pdbファイル)をデプロイするリスクは何ですか?
例外strackトレースをログに記録するアプリケーションがあり、本番環境にデプロイするときに、これらのスタックトレースにファイル名と行番号を含める必要がありました。アセンブリを使用してデバッグシンボルを展開する方法を理解しましたが、問題を調査する過程で、この質問に遭遇しました。これは、本番環境にpdbファイルを含めることはお勧めできないことを意味します。受け入れられた回答へのコメントは、「...デバッグ情報は機密データを提供し、攻撃ベクトルになる可能性があります。アプリが何であるかによって異なります。」と述べています。
では、どのような種類の機密データが公開される可能性がありますか?デバッグシンボルを使用してアプリケーションを危険にさらすにはどうすればよいですか?技術的な詳細に興味がありますが、私が本当に探しているのは、特定のアプリケーションおよび実稼働環境にデバッグシンボルを含めるリスクを評価するための実用的な方法です。言い換えれば、起こりうる最悪の事態は何でしょうか。
編集:フォローアップの質問/説明
したがって、これまでの全員の回答に基づくと、この質問は.NETアプリケーションでは少し単純化できるようです。MichaelMaddoxの回答にリンクされているJohnRobbinsブログからのこのビットは、私に飛び出しました。
.NET PDBには、ソースファイル名とその行、およびローカル変数名の2つの情報のみが含まれています。他のすべての情報はすでに.NETメタデータに含まれているため、同じ情報をPDBファイルに複製する必要はありません。
私にとって、これは他の人がReflectorについて言っていることを繰り返しますが、本当の問題はアセンブリへのアクセスであるという意味です。それが決まったら、PDBに関して行う唯一の決定は、ファイル名、行番号、およびローカル変数名を公開するかどうかです(最初からエンドユーザーにスタックトレースを表示していないと仮定します)。それとも私はこれを単純化しすぎましたか?
visual-studio-2008 - シンボルなしでメソッドをステップオーバーする - ステップインする方法は?
Visual Studio 2008 SP1 と VB.NET プロジェクトの使用。ステップインできないコードがあります。イミディエイト ウィンドウに、「シンボル 'Some.Namespace.Here' なしでメソッドをステップ オーバーしています」というメッセージが表示されます。
メソッドに常にシンボルがあることを確認するにはどうすればよいですか?! コードのすべての行にステップインする必要があります。F8を押しています(VS2008では「ステップイン」です。メモリから、VS2005ではF11だったと思います)。
このデバッガーのものはいつも私を混乱させました: ソリューション レベルのプロパティ ページで、アクティブ (デバッグ)、デバッグ、リリース、すべての構成の 4 つの値を持つ構成ドロップダウンが表示されます。- 現在は「アクティブ (デバッグ)」に設定されています。プロジェクト レベルでは、デバッグ、リリースの 2 つの値を持つ構成ドロップダウンが表示されます。- 現在「デバッグ」に設定されています
debugging - インターネットに接続していない場合、Microsoft の dlls\assemblies の正しいシンボルを取得するにはどうすればよいですか?
セキュリティ上の理由から、コンピューターをインターネットに接続できません。したがって、シンボル サーバーを使用できません。Windows XP SP2 のシンボル パックをインストールしましたが、一部の PDB がマシンにインストールされている dll と一致しません (マシンにインストールされた特定の更新プログラムが原因だと思います)。
どうやら、マイクロソフトが公開した唯一のパッケージは、完全な xp sp2 シンボル パッケージです。サーバーから特定のシンボルをダウンロードできません。
助言がありますか?
apache-flex - Flash Player のデバッグ シンボルを取得できますか? または、フラッシュのサポートを受ける他の方法はありますか?
私が働いている会社には、Chrome、FF、および IE で断続的にクラッシュするフラッシュ コンポーネント (flex と cs4 を使用) があります。(今のところ win32 プラットフォームのみ)
アドビにバグ レポートを提出しましたが、アドビから何も連絡がありません。彼らのサポート プロセスはブラック ホールのようです。これらの手順を使用して Flash からダンプを取得できますが、バグを送信した後、何の助けも得られませんでした。
これを MS Visual Studio にロードしましたが、フラッシュ用のシンボルがないため、適切なスタック情報を取得できません。
Microsoft およびその他の企業は、デバッグに役立つシンボルを提供しており、Adobe から入手したいと考えています。これを進歩させる方法はありますか?
どこでフラッシュシンボルを取得できるか、または他にどのように進歩できるかを知っている人はいますか?
コンテナーが停止しただけでは、プロセスをデバッグするのは困難です。
バイナリは flash10c.ocx です
私はアドビ関係者との電話で苦痛な時間を過ごしたところです。そのうちの 1 人 (約 8 人と話をしました) からの最終的な回答は、フラッシュの開発者サポートのインシデントごとの購入計画がないというものでした。
信じがたいことだと思います。
Flash のサポートを受ける方法を知っている人はいますか?
visual-studio - シンボルのアタッチとロードにかかる時間を短縮
一般的に言えば、これに関するあなたの推奨事項は何ですか? 現在、SharePoint 2007 をホストしているローカルで実行中の IIS プロセスにアタッチするには、10 分近くかかります。
c# - .NET Framework によってスローされた例外を取り除く方法
最近のプロジェクトでは、多くのデータバインディングと xml シリアル化を使用しています。私は C#/VS2008 を使用しており、デバッグ時に役立つ .NET フレームワークのシンボル情報をダウンロードしました。
私が取り組んでいるアプリには、キャッチされていない例外がスローされた場合に、より見やすいメッセージをユーザーに提示するためのグローバルな「キャッチオール」例外ハンドラーがあります。私の問題は、「キャッチオール」によってキャッチされる前に例外をデバッグできるように、例外->スローをオンにしたときです。フレームワークは、すぐにキャッチされない多くの例外 (ReflectPropertyDescriptor など) をスローするように思われるため、実際にデバッグしようとしている例外はノイズの中で失われます。フレームワークによって引き起こされた例外を取り除き、自分のコードから例外を保持する方法はありますか?
更新:さらに調査し、実際にフレームワークによってスローされる例外を取り除こうとした後 (多くはフレームワークの既知の問題であることが判明しました。例: XmlSerializer がコンストラクターで FileNotFoundException を与える)、私は最終的に自分に合った解決策を見つけました、ツール >> オプション >> デバッグ >> 一般 >> VS2008 でマイ コードのみを有効にするで「マイ コードのみ」をオンにします。
asp.net - RELEASE アセンブリまたは DEBUG .dll のみで有用な Exception StackTrace を表示しています
Web サービスのエラー処理を改善するために、ある程度の努力をしました。特に、次の例のように StackTrace を表示しています。
私の質問は、Web サービスを DEBUG ではなく RELEASE としてコンパイルして公開するとどうなるかということです。DEBUG モードでコンパイルするときは .dll と web.config (ソースなし) のみを発行しますが、エラーがログに記録されると、StackTrace は開発マシンのファイルの行番号を次のように示します。
要するに、RELEASE モードの DLL は上記の種類のスタック トレースを引き続き表示しますか? 私はそうなると思いますが、確かではありません。別のレベルの展開に移行する準備をしているときに、システム管理者がこの質問を提起しました。
java - 一部の Java ライブラリがデバッグ情報なしでコンパイルされるのはなぜですか
最近、デバッグ情報の一部/すべてなしでコンパイルする Java ライブラリ (JDK、joda time、iText) がいくつかあることに気付きました。ローカル変数情報が欠落しているか、ローカル変数情報と行番号の両方が欠落しています。
これには何か理由がありますか?コンパイルされたコードが大きくなることはわかっていますが、それが特に大きな考慮事項であるとは思いません。それとも、デフォルトのコンパイル オプションでビルドしているだけですか?
ありがとう。