Visual Studio 2012 - vshost32-clr2.exe перестал работать

Я создаю приложение WinForm в C# с использованием Visual Studio 2012, и я получаю сообщение об ошибке при отладке:

vshost32-clr2.exe has stopped working

Я уже искал, но большинство результатов для Visual Studio 2010 и ниже, и я получаю аналогичные решения, которые, я думаю, не применимы к Visual Studio 2012:

Properties -> Debug -> Enable unmanaged code debugging

Источник: сбой vshost32.exe при вызове неуправляемой DLL

Дополнительные детали:

  • Мой проект не использует DLL.

  • Насколько я прогрессирую в моем проекте, это происходит только когда ширина 17.

Я использую следующий код:

        Bitmap tmp_bitmap = new Bitmap(Width, Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);

        Rectangle rect = new Rectangle(0, 0, 16, tmp_bitmap.Height);
        System.Drawing.Imaging.BitmapData bmpData =
            tmp_bitmap.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite,
            tmp_bitmap.PixelFormat);

        unsafe
        {
            // Get address of first pixel on bitmap.
            byte* ptr = (byte*)bmpData.Scan0;

            int bytes = Width * Height * 3; //124830 [Total Length from 190x219 24 Bit Bitmap]
            int b;  // Individual Byte

            for (int i = 0; i < bytes; i++)
            {
                _ms.Position = EndOffset - i;  // Change the fs' Position
                b = _ms.ReadByte();              // Reads one byte from its position

                *ptr = Convert.ToByte(b);
                ptr++;

                // fix width is odd bug.
                if (Width % 4 != 0)
                    if ((i + 1) % (Width * 3) == 0 && (i + 1) * 3 % Width < Width - 1)
                    {
                        ptr += 2;
                    }
            }
                // Unlock the bits.
            tmp_bitmap.UnlockBits(bmpData);
        }

Я думаю, что опубликовать мой код необходимо, так как это происходит, только когда такое значение установлено для моего метода.

Я надеюсь, что вы можете помочь мне решить эту проблему. Заранее большое спасибо!

4 ответа

Не уверен, что это та же проблема, но у меня была очень похожая проблема, которая разрешилась (исчезла), когда я снял флажок "Включить процесс размещения Visual Studio" в разделе "Отладка" в Project/Properties. Я также включил отладку собственного кода.

Эта проблема может быть связана с отладкой приложения как "Любой процессор" в ОС x64, установите Target CPU как x86

Добавляя мои 2 цента, так как я столкнулся с этим сегодня.

В моем случае, вызов к принтеру передавал какое-то недопустимое значение, и кажется, что он отправляет отладчик в сон с рыбами.

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

Ниже решение работало для меня:

  1. Перейдите на вкладку Проект-> Свойства-> Отладка
  2. Снимите флажок "Включить процесс размещения Visual Studio"
  3. Установлен флажок "Включить отладку собственного кода"

Надеюсь это поможет.

Другие вопросы по тегам