.NET Framework (mscorlib) 中的错误阻止堆栈跟踪行号(在便携式 pdb 中)?

2024-01-10

更新:正如评论中指出的,下面的代码指的是可移植的pdb。可移植的 pdb 与我的情况无关,但使用沙盒应用程序域和可移植的 pdb 的人们可能仍然会对这个问题感兴趣。

我正在受限沙箱(AppDomain)内运行代码。从此沙箱中抛出的异常没有附加行号。解除CAS限制使得行号出现,所以和CAS有关。StackFrameHelper.InitializeSourceInfo似乎负责提供行号。那里有一个条件分支,它在受限路径上执行,但在第二个路径上失败Assertion (堆栈跟踪.cs:135 https://referencesource.microsoft.com/#mscorlib/system/diagnostics/stacktrace.cs,135):

// need private reflection below + unmanaged code for the portable PDB access itself
// PERF: these demands are somewhat expensive so do the quick check first. We are aiming for
// ~50k traces/s at 5 frames/trace on decent 2017 era hardware to maintain rough performance
// parity with 4.7 implementation that didn't have Portable PDB support
if (!CodeAccessSecurityEngine.QuickCheckForAllDemands())
{
    new ReflectionPermission(ReflectionPermissionFlag.MemberAccess).Assert();
    new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Assert();
}

这给出了以下异常,但是这在第 205 行被吞没并且加载 pdb 被简单地跳过:

在执行相同类型的另一个修改之前,必须恢复堆栈遍历修饰符。

根据文档 https://learn.microsoft.com/en-us/dotnet/api/system.security.codeaccesspermission.assert?view=netframework-4.8#exceptions and 另一个问题 https://stackoverflow.com/questions/2911830/code-access-security-in-reporting-services-2008每帧只能有一个有效的断言。所以上面的代码似乎无效,这是 mscorlib (4.8) 中的编程错误吗?

为了解决这个问题,我必须防止进入该分支。我似乎找不到来源CodeAccessSecurityEngine.QuickCheckForAllDemands。它似乎与完全信任有关,但是调用程序集已经完全信任。还断言不受限制的访问(new PermissionSet(PermissionState.Unrestricted).Assert()) 打电话之前exception.ToString()没有任何影响。 AppDomain 被配置为沙箱,IsFullyTrusted https://learn.microsoft.com/en-us/dotnet/api/system.appdomain.isfullytrusted?view=netframework-4.8回报false.

如何解决这个可能的错误?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET Framework (mscorlib) 中的错误阻止堆栈跟踪行号(在便携式 pdb 中)? 的相关文章

随机推荐

  • 如何从指令调用控制器函数?

    如何从指令调用控制器函数 或者如何从控制器访问指令 ng model 例如 我使用 Angular ui 引导时间组件 当时间改变时 我需要通知控制器中的调用函数 我认为总的来说 这是组件之间双向通信的典型用例 appControllers
  • 持久化 MPMediaItemCollection 对象的方法? (选自 iPod)

    我正在制作一个应用程序 用户可以在其中选择设置选项卡中的歌曲 并根据需要在不同的视图中播放该歌曲 我希望这样 如果用户要关闭应用程序并再次重新打开它 则可以存储该项目 我设法允许用户选择并存储一首歌曲 IBAction showMediaP
  • 使用代码隐藏文件中的 VB.Net 编码填充 ASP.Net DropDownList

    我们在 ASP Net VB Net Web 表单的标记中有一个 DropDownList 我们希望使用数据集设计器创建的数据集中的数据填充 DropDownList 但我们在代码隐藏文件中使用的编码无法使用 FindControl 找到
  • VS2015 VSIX 系统内存不足异常

    我创建了一个新的 VSIX 项目并添加了一个新项目 gt 可扩展性 gt 自定义工具窗口 然后我尝试构建 但出现错误 1 gt Build started Project JSBQ Configuration Debug Any CPU 1
  • Ember数据删除失败,如何回滚

    如果我调用 destroyRecord 并且它在服务器上失败 它也会从本地存储和 UI 中消失 如果删除失败 我需要以某种方式 回滚 我尝试过这样的事情 item destroyRecord then function Notify suc
  • 从命令行构建解决方案

    我正在尝试使用命令行从 cmd 文件构建许多解决方案来处理整个构建 这是构建解决方案的行 for f i in CFG bld lst do set OUT i Release REBUILD call out C Program File
  • Web 应用程序中用于 Retina 显示的启动图像?

    有人知道如何让iOS在使用时显示更高分辨率的启动图像吗 目前 我只能使用 460x380 的图像 在 iPhone 4 的高 dpi 显示屏上显示时 该图像显然看起来很糟糕 我尝试了 2x 技巧 但似乎不起作用 有什么想法或解决方法吗 我从
  • jquery 中的 Twig 无法读取 jquery 变量

    我正在尝试使用 jQuery post 但在使用 twig 语法的路径部分有问题 这是代码 messageSender click function e e preventDefault var threadId this find a d
  • cefSharp ChromiumWebBrowser 大小与页面内容的关系

    您知道如何使 ChromiumBrowser 打开时浏览器大小适合内容吗 现在这个 xaml 位于窗口主体中 当有人单击 MyTextBox 的文本时 ChromiumBrowser 将打开以显示更多信息 Edit 如果没有固定的宽度和高度
  • 在 Jtable 中添加 JCombobox 并在 Swing java 中获取该行和列

    我有一个 Jtable 其中我像这样添加了 JComobox TableColumn sportColumn jTable1 getColumnModel getColumn 2 comboBox new JComboBox comboBo
  • 仅元素属性发生变化的 ItemsSource 和集合

    我对 ComboBox 没有反映其 ItemsSource 绑定到的集合的属性变化感到悲伤 有一个树由包含设置对象的类别对象的可观察类别集合组成 某些设置定义其他设置允许的值域的表示名称 它们分布在多个类别中 但使用 LINQ 的一点魔法会
  • 打印哈希码代替数组元素[重复]

    这个问题在这里已经有答案了 我创建了一个程序 其中有一个名为 Student 的新类 它设置和获取不同的变量 例如姓名 GPA 是否注册以及何时注册 这是一个字符串 它的目的是 问题是 当我尝试将信息存储到数组和 或数组列表中并打印它时 我
  • RSVP - 用承诺处理超时

    我正在使用 ember js 和 RSVP 据我所知 没有任何东西可以处理异步调用的超时 我的想法是使用装饰器模式包装解析处理程序 将解析处理程序包装在某些代码中 这些代码将计时调用并在发生超时时调用拒绝 这听起来是个好主意吗 还是有一些内
  • Android:意图的 setFlags 和 addFlags 之间有什么区别

    setFlags 和 addFlags 对于意图有什么区别 请任何人解释一下 帮助表示赞赏 当你使用setFlags您正在替换旧标志 当您使用addFlags您正在附加新标志 请记住 标志只是一个整数 它是 2 的幂 在二进制中 标志如下所
  • 当委托传递到另一个 AppDomain 时,是否可以将它们编组为代理?

    不知何故 我假设传递给另一个 AppDomain 的委托将变成代理 就好像它是派生自的对象一样MarshalByRefObject 不幸的是 他们似乎没有 假设我的代码中有一个类MyClass像这样 Serializable public
  • Git 子模块与包管理器的私有源

    使用本地包管理器 例如 pip 或 npm 比使用 git 子模块有什么优势 git is a 发展工具 您在开发期间使用它 但在部署期间不使用它 pip是一个部署工具 在开发过程中 您使用它来安装必要的库 在部署期间 您的用户使用它来安装
  • 我如何重写基类的 == 运算符,以便调用重写

    使用如下代码 public class Task string Name public static bool operator Task t1 Task t2 return t1 Name t2 Name t1 GetType t2 Ge
  • 在shinyapps.io中部署R应用程序-错误:解析清单

    我想简单地在shinyapps io 网站上发布我的应用程序 当我运行deployApp 时 我收到以下消息 错误 未处理的异常 子任务 32916512 失败 解析清单时出错 不支持的区域设置 4409 4409 UTF 8 执行停止 P
  • jquery可以做到这一点吗?弹出窗口获取值

    当用户单击父窗口中的按钮时 我使用 JavaScript 打开一个新窗口 子窗口 在新窗口 子窗口 上 我有文本框和按钮 当用户单击按钮时 我需要获取文本框的值并传递给父窗口 在关闭子窗口时 我需要将更新后的值插入到父窗口中 无需刷新父窗口
  • .NET Framework (mscorlib) 中的错误阻止堆栈跟踪行号(在便携式 pdb 中)?

    更新 正如评论中指出的 下面的代码指的是可移植的pdb 可移植的 pdb 与我的情况无关 但使用沙盒应用程序域和可移植的 pdb 的人们可能仍然会对这个问题感兴趣 我正在受限沙箱 AppDomain 内运行代码 从此沙箱中抛出的异常没有附加