编程语言
首页 > 编程语言> > 访问冲突异常仅在未附加调试器的情况下运行C#app时出现

访问冲突异常仅在未附加调试器的情况下运行C#app时出现

作者:互联网

我有一个在Visual Studios 2008中运行良好的应用程序,我试图将其纳入VS 2010以便使用.NET 4,我有一个非常奇怪的问题.当我从发布模式或调试模式运行代码并附带调试器(F5)时,我没有运行程序的问题.但是,当我在没有附加调试器的情况下从Release或Debug运行程序时(Shift F5),当我尝试在GDCM中的dll中运行一些代码时,我得到了一个访问冲突异常.我已经使用CMake创建了dll并且Swig并按照说明here调整构建VS 2010和.NET 4所需的说明.

有没有人知道为什么会发生这种情况以及如何解决这个问题?

以下是发生错误的程序示例.同样,如果您使用以下程序创建一个项目作为VS 2010中的程序,则在附加调试器时它将正常运行,如果未附加调试器则会失败.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using gdcm;

namespace GDCMVS2010Test
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args.Length != 1)
            {
                Console.WriteLine("This program prints the patient name of a dicom file with gdcm");
                Console.WriteLine("Usage: [input.dcm]");
                return;
            }

            gdcm.Reader reader = new gdcm.Reader();
            reader.SetFileName(args[0]);
            reader.Read();

            gdcm.File file = reader.GetFile();

            gdcm.StringFilter filter = new gdcm.StringFilter();
            filter.SetFile(file);
            string value = filter.ToString(new gdcm.Tag(0x0010, 0x0010));

            Console.WriteLine("Patient Name: " + value);
        }
    }
}

解决方法:

您应该真正开始使用GDCM特定组来传达您的问题,请参阅:

http://sourceforge.net/apps/mediawiki/gdcm/index.php?title=General_questions#Where_are_the_GDCM_mailing_lists_.3F

100名GDCM用户在此列表中,可以为您提供帮助.

您还应该提供数据集(DICOM文件)以帮助重现错误.

谢谢

标签:c,visual-studio-2010,access-violation,gdcm
来源: https://codeday.me/bug/20190701/1342648.html