問題タブ [debugging]
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.
php - PHP スクリプトをどのようにデバッグしますか?
PHPスクリプトをどのようにデバッグしますか?
エラー報告の使用など、基本的なデバッグについては認識しています。PHPEclipseでのブレークポイントのデバッグも非常に便利です。
phpStormまたは他のIDEでデバッグするための最良の(高速で簡単な)方法は何ですか?
c++ - Win32 でのヒープの破損。見つける方法は?
ヒープを破損しているマルチスレッドC++ アプリケーションで作業しています。この破損を特定するための通常のツールは適用できないようです。ソース コードの古いビルド (18 か月前) は最新のリリースと同じ動作を示します。欠点としては、ソース デルタを使用して、バグがいつ導入されたかを特定できません。リポジトリには多くのコード変更があります。
クラッシュ動作のプロンプトは、このシステムでスループットを生成することです。つまり、内部表現に変更されたデータのソケット転送です。アプリに定期的に例外を発生させる一連のテスト データがあります (さまざまな場所、さまざまな原因 - ヒープ割り当ての失敗など: ヒープの破損)。
この動作は、CPU パワーまたはメモリ帯域幅に関連しているようです。マシンのそれぞれが多ければ多いほど、クラッシュしやすくなります。ハイパースレッディング コアまたはデュアルコア コアを無効にすると、破損の割合が減少します (ただし、完全にはなくなりません)。これは、タイミング関連の問題を示唆しています。
問題は次のとおりです:
軽量のデバッグ環境 (たとえばVisual Studio 98 / AKA MSVC6
) で実行すると、ヒープの破損はかなり簡単に再現できますalloc;
。洗練されたデバッグ環境 (Rational Purify、VS2008/MSVC9
または Microsoft Application Verifier でさえ) システムはメモリ速度の制約を受け、クラッシュしません (メモリの制約: CPU が を超えていない50%
、ディスク ライトが点灯していない、プログラムが可能な限り高速に動作している、ボックスが1.3G
2G の RAM を消費している) . したがって、問題を再現できる (ただし原因は特定できない) か、原因または再現できない問題を特定できるかの選択肢があります。
次の場所に関する私の現在の最良の推測は次のとおりです。
- 非常に汚れたボックスを取得します (現在の開発ボックスを置き換えるには: 2Gb RAM に
E6550 Core2 Duo
); これにより、強力なデバッグ環境での実行時に誤動作を引き起こすクラッシュを再現できるようになります。また - 演算子
new
andを書き換えて、 anddelete
を使用し、使用が終了したらすぐにメモリを読み取り専用としてマークします。実行して、解放されたメモリに書き込んでいる悪者を OS に捕まえさせます。はい、これは絶望のしるしです。一体誰が書き直しているのですか?! これにより、Purify などと同じくらい遅くなるのだろうか。VirtualAlloc
VirtualProtect
MSVC6
new
delete
いいえ、Purify インスツルメンテーションを組み込んで出荷することはできません。
同僚がちょうど通り過ぎて、「スタック オーバーフローですか? 今、スタック オーバーフローが発生していますか?!?」と尋ねました。
そして今、質問:ヒープ破損者を見つけるにはどうすればよいですか?
更新: バランスが取れてnew[]
おりdelete[]
、問題の解決に向けて長い道のりを歩んでいるようです. アプリがクラッシュするまでに 15 分ではなく、約 2 時間かかるようになりました。まだありません。さらに提案はありますか?ヒープの破損が続く。
更新: Visual Studio 2008 でのリリース ビルドは劇的に優れているようです。現在の疑惑は、にSTL
付属する実装にかかっていVS98
ます。
- 問題を再現します。
Dr Watson
さらなる分析に役立つ可能性のあるダンプが生成されます。
私はそれをメモしておきますが、ワトソン博士がつまずくのは事後であって、ヒープが踏みつけられたときではないことを懸念しています.
別の試み
WinDebug
は、非常に強力であると同時に軽量でもあるデバッグツールとして使用することです。
現時点では、これもうまくいきました。何かがうまくいかない限り、あまり助けにはなりません。行為中の荒らしを捕まえたい。
おそらく、これらのツールを使用すると、少なくとも問題を特定のコンポーネントに絞り込むことができます。
私はあまり希望を持っていませんが、絶望的な時代が求められています...
また、プロジェクトのすべてのコンポーネントが正しいランタイム ライブラリ設定 (
C/C++ tab
VS 6.0 プロジェクト設定のコード生成カテゴリ) を持っていることを確認しますか?
いいえ、そうではありません。明日、ワークスペース (58 個のプロジェクト) を調べて、それらがすべてコンパイルされ、適切なフラグでリンクされていることを確認するのに数時間を費やします。
更新: これには 30 秒かかりました。ダイアログですべてのプロジェクトを選択し
Settings
、適切な設定を持たないプロジェクトが見つかるまで選択を解除します (それらはすべて適切な設定を持っていました)。
asp.net - Visual Studio 「Web サーバーでデバッグを開始できません。Web サーバーがタイムリーに応答しませんでした。」
Visual Studio でコンパイルして Web アプリケーションを実行すると、かなり定期的に次のエラーが発生します。
「Web サーバーでデバッグを開始できません。Web サーバーがタイムリーに応答しませんでした。別のデバッガーが Web サーバーに既に接続されている可能性があります。」
通常、これはアプリケーションを一度デバッグした後です。コマンドラインから「iisreset /restart」を実行すると、問題が修正されます。
そもそもこれが起こらないようにするにはどうすればよいですか?
javascript - Internet Explorer の JavaScript トラブルシューティング ツール
私は Firebug と Mozilla JS コンソールを頻繁に使用していますが、IE のみの JavaScript バグに遭遇することがあり、これを特定するのは非常に困難です (例:ソース HTML に 200 行しかない場合の724 行目のエラー)。
エラーが発生してアンインストールした場合に、クライアントの PC に数秒でインストールできる Internet Explorer 用の軽量の JS ツール ( firebugのようなもの) が欲しいです。Microsoft ツールの中には、ダウンロードと構成にかなりの時間がかかるものがあります。
何か案は?
ajax - デバッグ: IE6 + SSL + AJAX + 投稿フォーム = 404 エラー
設定:
問題のプログラムは、AJAX 呼び出しを介して、呼び出し元と同じパッケージに含まれるターゲット プロシージャにフォーム データを送信しようとします。これは、安全な接続 (HTTPS) を使用するサイトに対して行われます。ここで使用されているテクノロジーはPLSQLとDOJO JavaScript ライブラリーです。開発ツールは基本的にテキストエディタです。
コードスニペット:
問題:
IE6 (ユーザーベース全体で使用) を使用すると、サーバーから返される応答が 404 エラーになります。
観察:
プログラムは Firefox で正常に動作します。
呼び出しプロシージャは、同じパッケージ内のプロシージャをターゲットにすることはできません。
呼び出し手順は、外部サイト (http、https の両方) をターゲットにすることができます。
フォーム データの投稿ではない、パッケージ内の他の AJAX 呼び出しは正常に機能します。
私はインターネットを検索し、熟練したチーム メンバーに相談しましたが、この問題に十分に対処するものは何も見つかりませんでした。
* Dojo サポート フォーラムで Q&Aを試みました。
質問:
どのようなトラブルシューティング手法をお勧めしますか?
HTTPS 分析に推奨されるトラブルシューティング ツールは何ですか?
問題が何であるかについての仮説はありますか?
完全な (悪い) ハッキングではない回避策のアイデアはありますか?
エド。ソリューション
lomaxx、フィドラーチップの thx。それを入手してデバッグツールとして使用することがどれほど素晴らしいことか、あなたにはわかりません。それを起動した後、これは私が見つけたものであり、どのように修正したかです(少なくとも短期的には):
サーバーからのそのメッセージを見た後、私は Fiddler をもう少し動かして、そこから他に何が学べるかを調べました。Web フォームの値を表示する WebForms タブがあることがわかりました。ご存知でしょうか、xxx_DISPLAYED_
上記の " " フィールドがその中にありました。
PLSQL
Webコードで明示的に作成していないため、これらのフィールドが存在する理由はまだよくわかりません。しかし、正しく機能するためには、ターゲット プロシージャにそれらをパラメータとして含める必要があることを理解しています。繰り返しIE6
ますが、Firefox は正常に動作していたので、これは私の場合のみです。
まあ、それは短期的な答えとそれを修正するためのハックです。願わくば、この分野でのもう少しの作業が、ここで行われている基本事項のより良い理解につながることを願っています.
c++ - デバッガーにファーストチャンス例外の中断を停止させることができません
Visual C ++ 2003を使用して、TCP/IPを介してプログラムをリモートでデバッグしています。
Win32例外c00000005「アクセス違反」を設定して、スローされたときにデバッガーに侵入しました。次に、「親設定を使用する」に戻します。親のWin32Exceptionsの設定は、例外がスローされたときに続行することです。
これで、プログラムをデバッグすると、例外がスローされるたびにプログラムが中断し、[続行]をクリックしてデバッグを続行する必要があります。このように壊れないようにするにはどうすればよいですか?
javascript - 「FirebugforIE」(JavaScriptのデバッグ用)のようなものはありますか?
JavaScriptのバグを修正しようとしています。Firebugを使用すると、Firefoxで作業するときにこれらの問題のデバッグがはるかに簡単になりますが、Firefoxでコードが正常に機能しているのに、IEが文句を言っている場合はどうしますか?
javascript - Visual Studio 2005でJavaScriptをデバッグするにはどうすればよいですか?
StackOverflowの質問BestWYSIWYGCSSエディターでこれが言及されているのを見たばかりで、それができるとは知りませんでした。私はVisualStudioの初心者ですが、どのように行いますか?
JavaScript用の別のデバッガーはありますか?私はコードビハインドページ用のものを操作する方法を知っています...私は通常、JavaScriptコードのデバッグを処理するためにFirebugを使用します。
VisualStudio2005を使用しています。
c++ - MSVC6:ブレークポイントがプログラムを停止します
Microsoft Visual Studio 98、Microsoft Visual C ++6.0SP6を使用
デバッガーで実行する場合、問題は1つだけです。プログラムを一時停止して再開すると、すべて問題ありません。
問題?ブレークポイントに到達すると、プログラムが停止します。しかし、良い方法ではありません。実行が停止し、デバッグモードから編集モードになります。ブレークポイントに到達するまでは問題ありません。そして、それがブレークポイントに到達していることを知っています-コードの正しい行を指す小さな黄色の矢印のフラッシュ、検査ウィンドウのローカル変数、およびそのウィンドウの呼び出しスタックが表示されます。そして、私は編集者を見つめています。
これはすべてのプロジェクトで発生します。
MSVC6をアンインストールして再インストールしました。それは役に立たなかった。
新しいPCで最初からやり直そうとしています。私がそこまで行く前に、誰かが私がこれに何をしたか知っていますか?
注:MSVC6は私の選択ではありませんが、理由があります。それは私が使っているツールです。また、NT4をターゲットにするため、2008年はNT4をターゲットにできず、2005年はMFCとNT4に問題があり、MSVC6は問題があります。
.net - IL レベルのコード デバッガー
VS プラグインまたはスタンドアロン アプリケーションの形式の IL レベルのデバッガーはありますか?
Visual Studio のデバッガーは優れていますが、HLL コード レベルまたはアセンブリ言語のいずれかでデバッグできます。IL をデバッグすることはできません。状況によっては、IL レベルでデバッグする機会があると便利なようです。
特に、ソースがないコードの問題をデバッグする場合に役立つ場合があります。
ソースがないときに IL をデバッグすることが実際に役立つかどうかは議論の余地がありますが、とにかく。