0

デバッグのために、メッセージを出力し、行番号を先頭に追加したいと考えています。いいえ、私は本格的なデバッガーに関与したくありません。

グローバル定数を定義しましたln="thisline = new Error().lineNumber";

私は定義しました

function println(msg) { 
    document.write("<br>at " + thisline + ":" + msg);
}

次に、デバッグしたい行に次の行を置きます。

eval(ln);
println("msg");

問題はthisline、印刷前に更新されないことが多いため、行番号が変更されずに長く伸びてしまうことです。3 つ以上の一意の行番号が印刷されることはありません。

評価が遅すぎるだけですか?完了するまで待つ方法はありますか?タイムアウトを試しました:

const ln="setTimeout(function() { 
    thisline = new Error().lineNumber
}, 1000);"

しかし、グローバルthislineは決して設定されませんでした。

それとも、発生できるエラーの数にシステム制限があるということですか?

4

1 に答える 1

0

IE でアプリケーションを実行している場合は、F12 キー (開発者ツール) を押すと、別のポップアップが開きます。

[スクリプト] タブをクリックし、[デバッグの開始] ボタンをクリックします。

ページが更新され、アクションの実行を開始できます。

エラーが発生すると、デバッガーは自動的にエラー行番号に移動します。ブレークポイントを配置することもできます。

それ以外の場合は、次の投稿をご覧ください。

例外をスローしたときに Javascript スタック トレースを取得するにはどうすればよいですか?

于 2013-03-11T08:26:16.290 に答える