访问冲突异常仅在未附加调试器的情况下运行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特定组来传达您的问题,请参阅:
100名GDCM用户在此列表中,可以为您提供帮助.
您还应该提供数据集(DICOM文件)以帮助重现错误.
谢谢
标签:c,visual-studio-2010,access-violation,gdcm 来源: https://codeday.me/bug/20190701/1342648.html