問題タブ [printf-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.

0 投票する
4 に答える
1788 参照

debugging - VBSCRIPTで__LINE__、__FILE__などに相当するコンテキスト情報を抽出する方法

__LINE__のようなコードのポイントでプログラムでvbscriptの行の行番号を取得する方法、またはより理想的には現在の関数がpythonのスタックモジュールのように呼び出された場所の行番号を取得する方法を知りたいので、私は再利用可能なデバッグ関数(およびコードが配置されているファイル)を記述できますが、エディターで行番号をオンにする方法を知りたくありません。

また、関数の呼び出し、文字列としての変数の型など、抽出できる同様の有用な情報があれば教えてください。

0 投票する
1 に答える
681 参照

c - 関数をトレースするための printf デバッグ

ソフトウェアをマイクロコントローラーに移植しようとしています (そのため、gdb などを使用してコードをステップ実行できません)、不愉快にクラッシュします。この理由を特定するために、printf()すべてのステートメントの前に、そのステートメントをエコーするように挿入したいと思います。

なるだろう

これを行うスクリプトは既にありますか?

0 投票する
1 に答える
6130 参照

c - アプリケーションの printf メッセージを /var/log/messages に渡す方法

アプリケーションの printf ログ メッセージを /var/log/messages に渡したいです。カーネル デバッグ メッセージは /var/log/messages に表示される可能性があるため、アプリケーションの printf ログ メッセージを /var/log/messages に渡す方法がわかりません。誰でもこれを行う方法を教えてください。

0 投票する
4 に答える
19822 参照

c - Cで括弧をprintfで出力するには?

printf("\)"); を使用して括弧を印刷しようとしています。ただし、次の警告が表示されます: 警告: 不明なエスケープ シーケンス '\)'

これを修正する方法についての明確な説明がどこにも見つからないようです。私はそれが単なる警告であることを認識していますが、それはまだ括弧として扱われているため、他のすべての括弧を破棄し、コードがコンパイルされないようにエラーを出しています.

編集: 通常の文字として扱い、単に printf(")") と言うだけでは機能しません。まだすべての括弧が一致していません。実際に欠落していないことを確認するために何度も確認しました。

0 投票する
2 に答える
800 参照

c - 印刷に成功した後に printf がクラッシュする

言語は C です。関数の引数として char* 型の配列 (char *array[] / char** 配列) があり、それらすべてを次のように行ごとに出力したいと考えています。

何らかの理由で、特定の入力ですべての値を出力することができますが、最後の *array が出力されるとすぐにクラッシュします。したがって、最後のprintfの後、「最後の印刷後」はもう印刷されません。残念ながら、私は gdb なしで netbeans C をサポートする Windows 7 を使用しています。netbeans にインストールしようとしたときにいくつか問題がありましたが、それはまた別の話です。

まず第一に、何が原因である可能性がありますか?次に、gdb なしでこの動作を最適にデバッグするにはどうすればよいでしょうか? 問題をデバッグして解決するのに役立つ回答があれば、それだけでもポイントを付与します。クラッシュの原因となった関数引数に関連する背景情報: strtok を使用して、char* 文字列から char** arr を生成しました。区切り文字としてスペースが使用されました。

編集:

追加情報: 同じ関数内で最後の *array を印刷しようとすると、正常に動作し、プログラムは正常に続行されます。したがって、これは機能します:

私のテストケースでは、NULL の前の最後のインデックスはたまたま 4 です。しかし、前に見たように同じことがループ内で行われると、それを印刷することはできますが、すぐにクラッシュし、2 行目が印刷されなくなります。