CLRMD - это управляемая библиотека для анализа аварийных дампов или живых процессов, касающихся внутренних компонентов.NET.
1 ответ

Что такое эквивалент ip2md в ClrMD?

Я знаю, как перебрать объект в памяти, но я собираюсь что-то сделать с ClrMD как !ip2md команда в WinDBG/SOS, Что именно я должен делать?
28 окт '15 в 23:30
1 ответ

Просмотр содержимого и значения переменных в памяти

Я пытаюсь создать инструмент отладки, который будет подключаться к процессу, а затем просматривать содержимое стека и кучи. До сих пор я использую CLRmd для присоединения к процессу, а затем получаю список типов переменных внутри стека и кучи, но вс…
17 авг '17 в 05:03
1 ответ

Замена TryGetDacLocation()

На GitHub для ClrMd я читаю // If we just happen to have the correct dac file installed on the machine, // the "TryGetDacLocation" function will return its location on disk: string dacLocation = version.TryGetDacLocation(); Я добавил ClrMd через NuG…
02 окт '17 в 09:18
2 ответа

ClrMd выдает исключение при создании среды выполнения

Я использую библиотеку диагностики памяти CLR для получения трассировки стека всех потоков в работающем процессе: var result = new Dictionary<int, string[]>(); var pid = Process.GetCurrentProcess().Id; using (var dataTarget = DataTarget.Attach…
26 июл '15 в 04:09
0 ответов

Эквивалент.reload /f в CLRMd

В CLRMd возможно ли принудительно отладчик загрузить (и извлечь при необходимости) все символы, необходимые в дампе памяти? В идеале, использование CLRMd API, а не выполнение .reload /f на интерфейсе отладчика.
26 сен '18 в 08:11
1 ответ

Попытка найти корни объекта с помощью CLR MD

Вот мой класс namespace MyNamespace { public class MyClass { private byte[] imageBytes = null; public MyClass() { } public void LoadImage(string filePath) { Image img = Image.FromFile(filePath); using (MemoryStream mStream = new MemoryStream()) { im…
12 апр '15 в 15:08
0 ответов

Как получить ветку "Расположение"/StackTrace в коде?

У меня есть этот код (с использованием CLRMD) в настоящее время, чтобы попытаться получить трассировку стека: var pid = Process.GetCurrentProcess().Id; using (var dataTarget = DataTarget.AttachToProcess(pid, 5000, AttachFlag.Passive)) { ClrInfo curr…
07 янв '19 в 23:10
1 ответ

Архитектура CLRMD MisMatch

Я работаю над библиотекой CLRMD и пытаюсь загрузить дамп. Я получаю несоответствующую архитектуру между этим процессом и ЦАП. Консольное приложение, которое является приложением x86, которое создает массив строк. static void Main(string[] args) { st…
02 окт '16 в 23:13
1 ответ

Как получить информацию о методах в StackTrace с помощью Microsoft.Diagnostics.Runtime?

Код: using System.Diagnostics; using System.Linq; using Microsoft.Diagnostics.Runtime; using Microsoft.Diagnostics.Runtime.Utilities; using Microsoft.Diagnostics.Runtime.Utilities.Pdb; namespace myDiagnostics { public class myStackTraceInfo { public…
26 окт '16 в 06:16
1 ответ

Есть ли способ получить значения локальных переменных (например, sosex! Mdv) с помощью ClrMD?

Используя windbg с SOS и SOSEX, я могу использовать команду! Mdv, которая "Показывает аргументы и локальные параметры для управляемого кадра". Есть ли способ достичь тех же результатов программно с помощью ClrMD?
30 янв '14 в 09:43
1 ответ

Как правильно работать с не примитивными значениями ClrInstanceField, используя ClrMD?

У меня есть несколько очень больших дампов памяти управляемого процесса, из которого я пытаюсь получить большую статистику, а также представить интерактивное представление довольно глубоких графов объектов в куче. Подумайте, что-то сопоставимое !do …
03 мар '14 в 15:10
3 ответа

Поиск данных экземпляра типа в куче.net

Допустим, у меня есть два класса Foo и Bar следующим образом public class Foo { private Bar _bar; private string _whatever = "whatever"; public Foo() { _bar = new Bar(); } public Bar TheBar { get { return _bar; } } } public class Bar { public string…
05 май '15 в 20:39
1 ответ

Получить примитивное значение с ClrMD

У меня есть следующее class Test { private MyStruct myStruct; } struct MyStruct { private int structValue; } Как я могу получить значение structValue? Я попробовал следующее, но безуспешно field.GetFieldValue(_address, true\false) field.GetFieldAddr…
12 мар '15 в 11:40
1 ответ

Могу ли я использовать ClrMD для прохождения только тех объектов, которые используются процессом на переднем плане?

В настоящее время я могу получить все объекты, которые присутствуют в куче, используя приведенный ниже код, используя ClrMD. Можно ли получить только набор объектов, которые используются в целевом процессе (т. Е. Только те объекты, которые находятся…
07 авг '17 в 11:03
1 ответ

ClrMd - ClrInfo TryGetDacLocation и другие методы отсутствуют?

Я пробую библиотеку ClrMd: https://github.com/Microsoft/clrmd И у меня есть эта проблема, в соответствии с первым уроком у меня есть метод, называемый TryGetDacLocation в типе ClrInfo, но, как я могу найти его в нем... Я вижу, что местоположение Dac…
28 окт '15 в 13:39
0 ответов

Как получить исключение, показанное в WinDBG через CLRMD

Когда я открываю аварийный дамп (мини-дамп) через WinDBG, он обычно указывает на определенный стек вызовов и исключение. Аналогично, когда я открываю его в Visual Studio (он также автоматически выбирает правильный поток, в котором возникло исключени…
22 авг '18 в 17:48
0 ответов

ClrMD - AttachToProcess с использованием AttachFlag.Invasive и AttachFlag.NonInvasive Crashing

Я использую Microsoft.Diagnostics.Runtime пакет nuget, и это мой код, когда я пытаюсь получить трассировку стека: var pid = Process.GetCurrentProcess().Id; // Line of error using (var dataTarget = DataTarget.AttachToProcess(pid, 5000, AttachFlag.Inv…
08 янв '19 в 23:14
0 ответов

unknown_error_in_process через IDebugControl, но разрешается через WinDBG

Я использую CLRMD для загрузки / анализа аварийных дампов, используя DbgEng (приведение IDebuggerInterface к IDebugControl6). Я могу выполнять те же команды, что и в WinDBG. Большая часть функциональности работает, как и ожидалось, но я заметил разн…
22 авг '18 в 15:28
1 ответ

ClrMD на процесс другого пользователя

У меня есть приложение.Net, которое сообщает о зависаниях в журнале событий. В событиях написано "Зависание приложения" без подробностей. Поэтому я создал консольное приложение C#, которое использует библиотеку ClrMD. Но предостережение в том, что э…
11 авг '15 в 15:59
1 ответ

Может ли DebugDiag генерировать отчеты с "инклюзивным размером", как Visual Studio 2013

Visual Studio 2013 может отображать столбец для инклюзивного размера (который включает размер дочерних объектов) - http://blogs.msdn.com/b/visualstudioalm/archive/2013/10/16/net-memory-analysis-enhancements-in-visual-studio-2013.aspx Отчеты анализа …
11 авг '14 в 15:41