【发布时间】:2020-12-22 06:47:34
【问题描述】:
我已经四处寻找这个问题的答案,但我根本无法理解读/写内存。我认为读/写内存更适合 C++,因为你在那里管理它,因为 C# 通常会处理它。尽管如此,下面是我创建的名为 DrawLevelCard 的函数的 pastebim 链接。这样做的目的是为我的不和谐制作一张等级卡。问题是有时它会在以下行引发错误:
var measure3 = gr.MeasureString(" / " + ExpNeeded + " Exp", Levelfont);
错误:
An unhandled exception of type 'System.AccessViolationException' occurred in System.Drawing.Common.dll
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
这不会发生在任何其他行上,如果我将其全部删除,没有它我将无法复制它。问题是这对于我设置图像的方式有点必要。 PasteBin:https://pastebin.com/ab00GLLs
参考卡片图片: https://i.imgur.com/q7nz2K6.png
更新:如果有人需要额外信息,这里是完整的课程:) https://pastebin.com/Bbi7zt2b
【问题讨论】:
-
请在您的问题正文中分享minimal reproducible example。
-
@mjwills,我的代码都没有重现这个问题,这就是问题所在。运行机器人时是随机的。
-
所有托管代码?没有 P/Invoke 或 COM 互操作?堆栈中有什么有趣的东西(我怀疑不会有)?
-
@mjwills 如果需要,我将删除该帖子,因为我没有办法显示它。 ://
-
@Flydog57 不。
标签: c# c++ memory discord dsharp+