安静点DGC 2023-03-11 14:37 采纳率: 77.3%
浏览 39
已结题

在debug模式下调试出现访问冲突错误

img


在debug模式下调试出现0x000000005375337D (msvcp100d.dll)处(位于 exe 中)引发的异常: 0xC0000005: 读取位置 xx 时发生访问冲突。
如上图,在debug模式下,我使用c#来读取文件的时候,莫名奇妙的跳转出来了这个错误,是在xstring文件中出现的这个错误:调用代码如下:


private static string GetString(AppSettingsSection frameSetting, string key)
        {
            if (frameSetting.Settings[key] == null)
            {
                return "";
            }
            return frameSetting.Settings[key].Value ?? "";
        }

调用这个方法之后就直接报错,但是在release模式下就没这个问题,这到底是怎么回事,有知道的吗?
调用:

 Path = GetString(frameSetting, "logExportPath"); 
  • 写回答

2条回答 默认 最新

  • MarkHan_ 2023-03-11 14:48
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    模式下代码会使用更多的内存和CPU资源,因此可能会揭示在release模式下不易发现的问题。

    在你的代码中,你使用了AppSettingsSection类来读取应用程序配置文件中的值。这个类通常是线程安全的,但是如果在多个线程同时读取相同的配置文件时,可能会发生访问冲突。这个错误也可能是由于其他原因导致的,比如你的代码中使用了指针,但是指针未被正确初始化等。

    为了解决这个问题,你可以尝试以下步骤:

    1. 确保你的应用程序在读取配置文件时是线程安全的,你可以使用锁机制来保证同一时间只有一个线程可以读取配置文件。
    2. 确保你的代码中没有未初始化的指针,并且你正确地使用了指针。
    3. 尝试使用Visual Studio的内存分析器来分析你的应用程序的内存使用情况,查看是否存在内存泄漏或其他内存问题。
    4. 尝试在release模式下进行测试,看看是否仍然存在相同的问题。
    5. 尝试更新你的msvcp100d.dll库,可能存在库文件损坏导致的问题。

    希望这些步骤能够帮助你解决问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月19日
  • 已采纳回答 3月11日
  • 修改了问题 3月11日
  • 修改了问题 3月11日
  • 展开全部

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来