問題タブ [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.
c# - 開こうとしているワークスペースは、現在の dotMemory バージョンと互換性がありません
1 つのテスト クラスを持つ .Net 5 ターゲット フレームワークを使用して、新しい XUnit テスト プロジェクトを作成しました。
インストールされている NuGet パッケージは JetBrains.DotMemoryUnit 3.1.20200127.214830 です
テストを実行した後 (dotMemory Unit で実行)、次の出力が作成されます。
.dmw ファイルのリンクをクリックすると、dotmemory アプリケーションが開きます
現在のアプリケーションのバージョンとライセンス情報
ダイアログウィンドウが表示されます
はいを選択すると、dotMemory 2019.1.3 が開き、ライセンス情報に関するダイアログが表示されます (私のライセンスは 2020.3 のみです)
では、dotMemory 2020.3.3 が .dmw ファイルをサポートしていないのはなぜですか?
xunit - dotMemory Unit を使用してコード内のゼロ割り当てをチェックするテストを作成するにはどうすればよいですか?
Rider、Xunit、および dotMemory Unit を使用して、このようなことをしようとしています (ただし、NUnit または Visual Studio と同様である必要があります)。
明らかにi++
、私は本当にテストしたいもっと複雑なものの代用として使用していますが、これを通過させたいと思っています。
私が見ているのは、dotMemory でチェックポイントを取得した結果として多くの割り当てが発生し、それらがすべて表示されることです。Where
クエリを使用することで、JetBrains 名前空間に固有のものを除外できると思います。これは少し役に立ちます。ただし、割り当てられたバイトの大部分は mscorlib のシステム名前空間にあり、それらが私のコードによって作成された場合、それらを除外したくありません。
アロケーションフリー/ガベージフリーのコードを作成するためにテストしようとしているので、アロケーションを追跡して、私のコードが何もしなかったことを主張したいと思っています。
また、 dotMemory.Check() 呼び出しでクロージャーの割り当てをヌードルしようとする道をたどり、それを移動して事前に初期化してもあまり役に立ちません。
私の最新バージョンは、実際には答えに近づいているように見えることなく、はるかに厄介になっています:
System には、dotMemory 自体によって行われている割り当てがまだたくさんあります。
.net - dotnet メモリ ダンプ内の何千ものオブジェクトのルートを効率的に見つけますか?
そのため、Linux で実行されている dotnet 5 プログラムから 18 GB のメモリ ダンプがあります。何千ものオブジェクトのルートを見つける必要があります。現在、lldb を使用していますが、たった 1 つのオブジェクトのルートを見つけるのに約 20 分かかります。これを迅速かつ効率的に実行できるツールやプロセスはありますか?