需要做什么才能步入 (F11) 反射代码。
我正在使用反射创建对象:
myObject.GetType().GetConstructor().Invoke(myParams)
我想进入构造函数的代码。如果我按 F11 它只是跳过构造函数的代码;(
但同时,如果我在 ctor 处设置断点并按 F5 - 它会达到此断点。
那么,我可以做些什么来启用反射代码。
需要做什么才能步入 (F11) 反射代码。
我正在使用反射创建对象:
myObject.GetType().GetConstructor().Invoke(myParams)
我想进入构造函数的代码。如果我按 F11 它只是跳过构造函数的代码;(
但同时,如果我在 ctor 处设置断点并按 F5 - 它会达到此断点。
那么,我可以做些什么来启用反射代码。
只是我的代码可能是导致问题的原因。
在 Visual Studio 中:
我不能保证这是导致问题的原因 - 但这是我最好的选择。
我认为问题在于技术上没有代码可以进入。假设您正在处理已编译的模块或库,那么自从它编译后,您根本无法进入它。即使您正在进入您编写的内容,该对象也是在内存中生成的,因此编译可能不再知道这些指令来自何处。
Soviut 所说的:它是编译后的代码,你不能介入。但是我在使用 CodeDOM 生成类并将它们写入磁盘并在 Debug 中编译 CodeDOM 时看到了这种情况。然后,您可以单步执行生成的类。但显然这是一个非常具体的案例。
您可能想使用 Reflector 来查看构造函数中发生了什么,但这是对情况的静态视图。
我之前遇到过同样的问题,但经过一些研究,我意识到 JustMyCode 是问题所在。它通常会禁用大多数内置的 vs 调试工具。删除后一切正常。如果您喜欢 JustMyCode,请将其用作您的调试工具。