問題タブ [handles]

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

.net - 「ウィンドウ ハンドルの作成中にエラーが発生しました」

私たちは非常に大規模な .NET WinForms 複合アプリケーションに取り組んでいます - CAB ではなく、同様の自家製フレームワークです。Windows Server 2003 で実行されている Citrix および RDP 環境で実行しています。

アプリケーションで昔ながらのハンドル リークのように思われる、ランダムで再現が難しい「ウィンドウ ハンドルの作成中にエラーが発生しました」というエラーが発生し始めています。サード パーティのコントロール (Janus GridEX、Infralution VirtualTree、.NET Magic ドッキング) を多用しており、データベースのメタデータに基づいてコンテンツの動的な読み込みとレンダリングを数多く行っています。

このエラーに関する情報は Google にたくさんありますが、この分野の問題を回避する方法についての確かなガイダンスはあまりありません。

スタックオーバーフロー コミュニティには、ハンドルに適した winforms アプリを構築するための適切なガイダンスがありますか?

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

.net - .NetアプリがWindowsハンドルをリークしている場所を見つけるにはどうすればよいですか?

多数のXPSドキュメント(数千)で実行されるWinForms .Netアプリがあり、この実行中に、ハンドルの数(sysinternalsプロセスモニターとタスクマネージャーによる)がドキュメントごとに3〜10ずつ増加します。これらはMS.NetXPSフレームワークライブラリによって開かれ、閉じられないハンドルであると強く疑っていますが、追跡することはできません。

コードをステップスルーしても、同じ実行中のさまざまなポイントでハンドル数が増加します。たとえば、ループを1回通過すると、ハンドルカウントが1行で1ジャンプし、次回はジャンプしないか、2ジャンプする可能性があります。したがって、XPScomコンポーネントにハンドルリークがあると思われます。

メモリの使用は問題ありませんが、このようにハンドルを使い果たし続けると、アプリとおそらくデスクトップがクラッシュします。

これまで、sysinternalsプロセスエクスプローラーでハンドルを確認してみましたが、すべて詳細がないものとしてマークされています。また、sysinternalsのhandle.exeを使用しました。これは、スナップショットの前、最中、後の間に大きな違いはありません。

ハンドルがどこに向かっているのかを追跡する方法についての手がかりはありますか?テストするには、シングルスレッドのコンソールアプリに単純化する必要があると思います。

よろしく

ライアン

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

c# - アイコン付きの GDI ハンドル。l

私はwinformsアプリケーションを持っています。多くのアイコンを持つユーザーコントロールがあります。ユーザーはこのコントロールをフォームに (タブ付きレイアウトで) 何度でもロードできます。現在、コントロールが作成されるたびにアイコンをロードしています(アプリでは最大50回になる可能性があります)。これらのアイコンをアプリケーションにキャッシュする方法はありますか。これを行った場合、これが問題になりつつあるため、使用しているgdiハンドルの数が減りますか。

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

c++ - ハンドルの作成を中断するにはどうすればよいですか?

複数の子プロセスを生成するアプリケーションがあります。子を起動する前に、ログ ファイルへの stdOut および stdErr ハンドルを作成します (たとえば、procA を起動しようとしている場合は、logA.log へのハンドルを作成します)。これらのハンドルを子プロセスに設定しました。

ProcExplorer を見ると、各子プロセスがログ ファイルへのハンドルを持っていることがわかります (したがって、procA は logA、logB などへのハンドルを持っています)。これは後で問題を引き起こします。

procA が logB へのハンドルをいつ作成するかを確認できるようにしたいと考えています。アイデアはありますか?

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

c# - 「ハンドル」をVB.NETからC#に移行する

一部のコードをVB.NETからC#(3.5)に移行しています。

私は次のような構造を見つけます:

そのような動作をC#に変換する最も簡単な方法は何ですか?

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

c# - プロセスによって使用されるUSERオブジェクトの数を見つける

.NET2.0WinFormsアプリで「ウィンドウハンドルの作成エラー」Win32Exceptionを引き起こしている可能性のあるメモリリークを調査しています。これは、ハンドルの数とUSERオブジェクトの数(ほとんどの場合)に関連しているため、次に例外がスローされたときにこれらのメトリックをログに記録しようとしています。

HandleCountは簡単に見つけることができます: Process.HandleCount

USERオブジェクトの数を見つける方法を知っている人はいますか?(値は[タスクマネージャー]-> [プロセス]の列に表示されます).NETまたはwinAPI関数で実行できます。

ありがとう!

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

c# - アプリ外のフォームのウィンドウ スタイルを変更する方法は?

アプリ外のフォームのウィンドウ スタイルを変更する方法は?難しい質問ですか?
私は実際に魔女が一番上にあり、境界線がないフォームを移動しようとしています。
ウィンドウのハンドル(hWnd)があります。
動作することが保証されていれば、何千行ものコードを書くことができます。