.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 中)? 的相关文章

  • Visual Studio 扩展找不到所需的程序集

    我为 Visual Studio 2013 编写了一个扩展 因为该死的组合框错误 https stackoverflow com questions 7800032 cancel combobox selection in wpf with
  • Visual Studio 2013 中的内存分析

    我想探索如何在我的应用程序中分配内存 我有 C 控制台应用程序并使用 Visual Studio 2013 Professional I go to Analyze gt 性能和诊断并选择 NET内存分配 结果我得到以下总结 图表中每次CP
  • 该变量未声明或从未分配警告

    这是基类 public class BaseClass UserControl protected ListView list protected TreeView tree public BaseClass 儿童班 public part
  • 以线程安全的方式获取随机数

    这是一篇描述随机数线程安全性的好文章 以线程安全的方式获取随机数 http blogs msdn com b pfxteam archive 2009 02 19 9434171 aspx 但我坚持使用 RandomGen2 示例 publ
  • 计算从给定日期开始的月份中的第几天?

    我正在努力寻找一种简单有效的解决方案来计算每月的工作日 例如 如果给定日期是第一个星期一Monday 5th March 2018然后我想获取接下来 6 个月每个月第一个星期一的日期 例如 Monday 2nd April 2018 and
  • 在 VB.NET 中 a = b = 5 - 不可能吗?

    VB NET 中可以这样做吗a b 5 我知道 也是比较运算符 我的意思是做not结果 例如 如果 b 2 a false b 2 然而 在下面的情况下该怎么做呢 不方便在我的代码中引起了这个问题 一些对象a b z由方法中的 ref 传递
  • ELMAH 将其数据保存在哪里?

    我刚刚安装了 ELMAH MVC 更多信息here http nuget org packages Elmah MVC 并且想知道其数据保存在哪里 我读到您可以选择设置数据库进行存储 但似乎默认安装使用 内存中 它是如何工作的 如果我回收应
  • 在 Javascript 中本地化字符串

    我目前正在使用 resx文件来管理我的 NET 服务器端资源 我正在处理的应用程序还允许开发人员将 JavaScript 插入各种事件处理程序中以进行客户端验证等 对我来说本地化 JavaScript 消息和字符串的最佳方法是什么 理想情况
  • 为什么WCF中不允许方法重载?

    假设这是一个ServiceContract ServiceContract public interface MyService OperationContract int Sum int x int y OperationContract
  • 是什么原因导致 Linq 错误:此方法无法转换为存储表达式?

    我有一堆具有相同 select 语句的 Linq to Entity 方法 所以我想我会很聪明 并将其分离到它自己的方法中以减少冗余 但是当我尝试运行代码时 我得到了以下内容错误 该方法不能转化为 商店表达式 这是我创建的方法 public
  • 我应该如何在 VB.NET 中进行转换?

    所有这些都相等吗 在什么情况下我应该选择其中一个而不是其他 var ToString CStr 变量 CType 变量 字符串 DirectCast 变量 字符串 编辑 来自的建议不是我自己 https stackoverflow com
  • 将标签文本的一部分设置为粗体

    有什么办法可以使一部分label text要大胆吗 label text asd string 想要string部分要加粗 有可能吗 这怎么办 下面的类说明了如何通过覆盖来做到这一点OnPaint in the LabelWinForms
  • C#:询问用户密码,然后将其存储在 SecureString 中

    在我目前为客户开发的小型应用程序中 我需要询问用户他的 Windows 登录用户名 密码和域 然后使用这些信息系统 诊断 进程 启动启动一个应用程序 我有一个带有 UseSystemPasswordChar 的文本框来屏蔽输入的密码 我需要
  • DataGridView 中的 C# FormatException

    我创建了一个带有一些列的 DataGridView 订单列仅允许用户输入 int 数字 当我输入 j 例如 时 它会抛出 FormatException 并且我尝试添加 try catch 来解决问题 但它看起来不起作用 private v
  • string.Empty 与 null。您使用哪一个?

    最近工作的同事告诉我不要使用string Empty设置字符串变量时但使用null因为它污染了堆栈 他说不做 string myString string Empty but do string mystring null 真的有关系吗 我
  • 为使用 SSH.NET SshClient.CreateShellStream 执行的命令 (sudo/su) 提供子命令

    我正在尝试使用 Renci SSH NET 从 C Web 应用程序连接到远程 Linux 服务器并执行 shell 脚本 我想一个接一个地运行脚本 但不知道如何运行脚本并读取输出并将其存储在标签中 我已经尝试了下面的代码 但无法一行接一行
  • 如何创建包含 IPv4 地址的文本框? [复制]

    这个问题在这里已经有答案了 如何制作一个这样的文本框 我想所有的用户都见过这个并且知道它的功能 您可以使用带有 Mask 的 MaskedTestBox000 000 000 000 欲了解更多信息 请参阅文档 http msdn micr
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 从 Excel 应用程序对象中查找位数(32 位/64 位)?

    是否可以从 Microsoft Office Interop Excel ApplicationClass 确定 Excel 是以 32 位还是 64 位运行 Edit该解决方案应该适用于 Excel 2010 和 Excel 2007 此
  • System.IO.FileNotFoundException:找不到网络路径。在 Windows 7 上使用 DirectoryEntry 对象时出现异常

    我正在尝试使用 DirectoryEntry 对象连接到远程 Windows 7 计算机 这是我的代码 DirectoryEntry obDirEntry new DirectoryEntry WinNT hostName hostName

随机推荐

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

    如何从指令调用控制器函数 或者如何从控制器访问指令 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 内运行代码 从此沙箱中抛出的异常没有附加