問題タブ [dotmemory]

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 に答える
3137 参照

asp.net - dotMemory を使用してメモリ プロファイリングを開始できない

JetBrains dotMemoryを使用して、IIS10 で実行されている ASP.NET MVC Web アプリをプロファイリングしようとしています。プロセスw3wp.exeにアタッチして[実行] をクリックすると、次のエラーが表示されます。

プロファイリングを開始できません。詳細:

プロファイラーはプロセスに接続できません: プロセスが別のプロファイラー、パフォーマンス監視ツール、モック ツールで実行されていないことを確認するか、コンピューターを再起動してください。

そのプロセスを実行する他のプロファイラーやツールはありません。また、再起動を試みました。ただし、何も機能しません。

助言がありますか?

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

c# - dotMemory、xUnit、およびasyncを組み合わせて何か間違ったことをしていますか

メイン ユーザー インターフェイスに一度添付されたドキュメントを破棄したことを確認する単体テストがあります。すべてを STA スレッドで実行する必要があり、ユーザー インターフェイスが作成されるのを待たなければならないという点で、単体テストは非同期でなければなりません。

アクションを STA スレッドにディスパッチするヘルパーがあります。

テストの本体でメモリオブジェクトを作成し、以下のように非同期メソッドに渡します。

###でコメントされたコード行を参照して、実際の問題行を確認してください。dotMemory はオブジェクトがまだ存在しないことを報告していますが、オブジェクトが存在することを証明するアサーションを既に作成しています。

(STA ヘルパー クラスはhttps://gist.github.com/bradphelan/cb4f484fbf6a7f9829de0dd52036fd63にあります)

これは async と dotMemory に関する問題ですか?

上記の同じテストの同期バージョンを作成しましたが、失敗しません。ShouldCollectAsyncShouldCollectSyncの下に 2 つのテストがあります。非同期のものは失敗し、同期のものは合格します。

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

c# - linq 使用時の WPF アプリケーションでのメモリの問題

現在、アプリケーションのメモリリークを探しています。linq クエリを実行するビューモデルに関しては、その名前空間を持つメモリ内のオブジェクトを見つけました。dotMemory を使用して検査を行っており、末尾が +<>c のオブジェクトがリストされています。これがどのような種類のオブジェクトであるか、これがメモリに存在することが実際の問題であるかどうかについての説明は見つかりませんでしたが、linq クエリに接続されていることがわかりました。これを再現するコードと、Linq クエリの結果からわかるように、使用されることはありません。

dotmemory からのスナップショット: ここに画像の説明を入力

+<>c がどのようなオブジェクトであるか、またメモリから解放されない理由を誰かが説明してくれることを願っています。

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

prism - dotmemory スナップショットでアプリケーションがクラッシュする

Resharper Ultimate: 2016.3.2 DotMemory: 2016.3.2 Visual studio 2017 Windows 7 Prism 6.3.0 Ninject

これはちょっと変わったものなので、正確に説明する方法がわかりませんが、試してみます。

もともと、私はページを地域に登録するように設定していたので、すべてのページは次のように宣言されていました

その後、それらをリージョンにバインドします。

物事を更新している間、ページをバインドしてリージョンに登録するという面倒なことをするのではなく、RequestNavigate を使用するように切り替えることにしたので、ビューをリージョンに登録することを削除し、バインドを次のように変更しました。

デバッグモードでは、これはすべて完全に正常に機能しました。しかし、これは物事が奇妙になるところです。dotmemory を実行してリーク テストを行ったところ、特定のページに入る前にスナップショットを作成すると、ソフトウェアがクラッシュすることがわかりました。スナップショットを撮らなかった場合、またはページに入った後にスナップショットを撮った場合、何もクラッシュしません。

さらに、追加すると

ページをバインドした後も問題はありません。(だから今、これは私のひどい一時的な修正です)

なぜこれが起こっているのか、誰かが何か知っているかどうか疑問に思っています。私が思いついた唯一の2つの結論は、

a) RequestNavigate が ninject を介して正しく解決されていません。b) どういうわけか、ドットメモリからスナップショットを取得すると、カーネルからまだ解決されていないものがすべてクリアされます。

私はあまり期待していませんが、誰かがこれを引き起こしている可能性のあるアイデアを持っていれば、かなり役に立ちます.