問題タブ [outputdebugstring]

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 投票する
1 に答える
3086 参照

c++ - OutputDebugStringエラー

私が使う:

Visual Studio 2010では、「マイエラー」を表示する代わりに、ウィンドウに「エラー」だけが表示されます。

ここに画像の説明を入力してください

この問題を修正するにはどうすればよいですか?

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

delphi - エラー: 宣言されていない識別子: 'OutputDebugString'

Delphi コードで OutputDebugString を使用していますが、次のエラーが表示されます。

エラー: 宣言されていない識別子: 'OutputDebugString'

この OutputDebugString はどのパッケージにありますか?

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

c++ - タイムスタンプを OutputDebugString() に追加するには?

C++ アプリケーションを作成しており、タイムスタンプを OutputDebugString() に追加したいと考えています。DebugViewを使用してアプリケーションを監視すると、タイムスタンプが自動的に表示されることは既にわかっています。しかし、特定の理由から、OutputDebugString() に渡すすべての文字列に TimeStamps を追加したいと考えています。

サンプルコードは何ですか?

0 投票する
3 に答える
14811 参照

windows-7-x64 - OutputDebugString() が Windows 7x64 で機能しない

私のプログラムは Windows XP で問題なく動作します。私はいくつかの機能を追加しようとしておりOutputDebugString()、デバッグ情報を表示するために使用しています。XPで問題なく動作します。Windows 7x64で同じプログラムを使用したいとき。に出力が表示されませんDebugView

F1! F1! F1!

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

delphi - Delphi 6 IDEで大量のOutputDebugString()呼び出しがアプリケーションを劣化させないようにするにはどうすればよいですか?

これは私に何度も起こり、幽霊を追いかける多くの失われた時間をもたらしました。通常、非常に難しいタイミング関連のコードをデバッグしているときに、大量のOutputDebugString()呼び出しを追加し始めるので、関連する操作のシーケンスをよく把握できます。問題は、Delphi6IDEはその状況を非常に長い間しか処理できないように見えることです。一般性を避けるために(可能な限り)、今行った具体的な例を使用します。

スレッド間セマフォロックコードとDirectShowタイムスタンプ計算コードのデバッグに数日を費やしました。これは非常に苛立たしい問題を引き起こしていました。考えられるすべてのバグを排除した後も、アプリケーションがオーディオを送信するSkypeに問題がありました。

約10秒後、通話の遠端であるテストに使用していた2台目のPCでSkypeから音声が聞こえるまでの遅延が大きくなり始めました。約20〜30秒で遅延が指数関数的に増加し始め、その時点でコードがトリガーされ、クリティカルセクションが長すぎて保持されていないかどうかを確認します。

幸いなことに、夜遅くはなく、以前にこれを経験したことがあるので、私は執拗にトレースを停止し、OutputDebugString()の大部分をオフにすることにしました。ありがたいことに、それらのほとんどを条件付きコンパイラー定義でラップしていたので、簡単に実行できました。これを実行した瞬間に問題は解消され、コードは正常に機能していることがわかりました。

したがって、OutputDebugstring()トラフィックの量があるしきい値を超えると、Delphi6IDEが実際に停止し始めているように見えます。おそらく、すべてのOutputDebugString()レポートを保持するイベントログデバッガペインに文字列を追加するだけのタスクです。わかりませんが、TMemoまたは同様のコントロールに含まれる文字列が多すぎると、アプリケーションで同様の問題が発生します。

これを防ぐために、あなた方は何をしましたか?メソッド呼び出しを介してイベントログをクリアする方法、または少なくともそのサイズを制限する方法はありますか?また、この状況に対処するために、条件付き定義、IDEプラグインなどを介してどのような手法を使用していますか?

0 投票する
0 に答える
761 参照

c++ - コードで OutputDebugString を使用すると、リリース モードでビルドしたときにコンパイルが失敗します (VC++)。

OutputDebugString @ 多くを VC++ コードに配置して使用しました。デバッグモードで問題なくビルドできます。ただし、OutputDebugString で同じコードを使用すると、コンパイルが失敗します。

コードで「OutputDebugString」を使用している場合でも、RELEASE モードでこのビルドの失敗を回避する方法。前もって感謝します。

0 投票する
5 に答える
28110 参照

delphi - OutputDebugString の出力を表示するには?

アプリケーションで使用したいのですOutputDebugString()が、アプリケーションがフィールドに展開されたときに別のビューアで表示するオプションが必要です。

つまり、デバッグのオンとオフを切り替えるために、フラグを変更して .exe を再構築する必要はありません。

ぐぐってみると、 DebugViewはそれを処理する必要があるようですが、それもTraceToolもこのコードからの出力を表示しません。

私はドキュメントを読みましたが、役に立たず、他の人も同様の問題を抱えていることがわかりましたが、解決策は投稿していません。

解決策はありますか?

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

delphi - Delphi - プロセス ID と名前を使用して、システムからすべての OutputDebugString をアプリケーションにフック\バイパス\キャッチします。

この質問に基づいて、すべてのデバッグ文字列をアプリケーションにキャッチする小さなアプリケーションを作成しました。スレッドのコードを以下に示します。

取得した各デバッグ文字列のプロセス ID とその名前を取得したいと考えています。いくつかの調査を行った後、次の記事を入手しました。「最初の 4 バイト (32 ビット DWORD) は、OutputDebugString を使用してテキストを書き込んだプロセスのプロセス ID です。」. 以下の関数を呼び出してプロセスを取得しようとしましたが、結果は null です。

何が悪いのかわからない。

また、デバッグ文字列を送信したプロセスの名前を取得することは可能ですか?

スレッド コード:

終わり。

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

permissions - Windows 2008 r2 debugview(OutputDebugString)の問題

こんにちは、デバッグメッセージにOutputDebugStringを使用しているWindows2008R2にサービスとしてx86アプリケーションをインストールしています。

問題は、アプリケーションがサービスとしてではなく昇格モードでコンソールから実行されている場合にのみ、DebugViewユーティリティがアプリケーションからのデバッグ出力をキャッチすることです。

Windows2008R2でのOutputDebugStringのこの制限について直接説明しているKBは見つかりませんでした。

誰かがそのような問題に遭遇しましたか?そのような制限は本当に存在しますか?

UPD:パフォーマンスの問題で重要な場合は、TerminalServicesを使用しています。

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

delphi - ネットワーク全体でOutputDebugString()の出力を表示するにはどうすればよいですか?

前の質問に加えて、以前にDelphiがインストールされていなかったPCではGExpertsDebugWindowを使用できないことがわかりました。

次の(珍しいことではないので、おそらく他の人が興味を持っている)要件がある場合、自分のコードをロールする必要がありますか、それとも既存の無料のソリューションがありますか?

  1. PC 2のIPアドレスを指定することにより、ネットワークを読み取ることができる必要があります(つまり、PC1はPC2のデバッグ出力を監視します)。
  2. 可能であれば、プロセス名でフィルタリングできるようにしたいと思います

助けてくれてありがとう