Случайные модули загружаются при отладке - PullRequest
0 голосов
/ 23 сентября 2010

Когда я отлаживаю свое приложение VB.NET в Visual Studio 2010, в выводе отладки говорится о нескольких вещах, которые я не понимаю:

'something.vshost.exe' (Managed (v4.0.30319)): Loaded 'jb3yjswu'
'something.vshost.exe' (Managed (v4.0.30319)): Loaded 'mdul5h2c'

Что это за случайные модули (или что-то еще), которые загружаются? Они связаны с темами, которые создаются? Имена меняются каждый раз, когда я отлаживаю.

1 Ответ

2 голосов
/ 21 апреля 2012

Я предлагаю вам выгрузить модули и типы из загруженных сборок в файл журнала в соответствующее время. Затем вы можете найти таинственную сборку и найти в ней типы. Например:

using System;
using System.Xml.Linq;

public class Test
{    
    static void Main()
    {
        Console.WriteLine("Before");
        DumpAssemblies();
        DoSomethingWithXml();
        Console.WriteLine("After");
        DumpAssemblies();
    }

    static void DoSomethingWithXml()
    {
        new XDocument();
    }

    static void DumpAssemblies()
    {
        Console.WriteLine("Assemblies loaded:");
        foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
        {
            Console.WriteLine("  Assembly {0}:", assembly.FullName);
            foreach (var module in assembly.GetModules())
            {
                Console.WriteLine("    Module {0}:", module.Name);
                foreach (var type in module.GetTypes())
                {
                    Console.WriteLine("      {0}", type.FullName);
                }
            }
        }
    }
}

Как только вы узнаете, какие типы в каких сборках, это, вероятно, должно объяснить, что происходит. Если вы видите загадочные модули без каких-либо типов или с типами, которые не имеют особого смысла, вам нужно будет добавить больше диагностики - например, перечисление ресурсов внутри модулей или методов внутри типов и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...