Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net VisualStudio2008-如何进入(F11)反射代码_.net_Visual Studio_Debugging_Step Into - Fatal编程技术网

.net VisualStudio2008-如何进入(F11)反射代码

.net VisualStudio2008-如何进入(F11)反射代码,.net,visual-studio,debugging,step-into,.net,Visual Studio,Debugging,Step Into,需要做什么才能进入(F11)反映的代码 我正在使用反射创建对象: myObject.GetType().GetConstructor().Invoke(myParams) 我想进入构造函数的代码。如果我按F11,它只会跳过构造函数的代码;( 但同时,如果我在ctor上放置一个断点并点击F5,它将点击这个断点 那么,我能做些什么来启用单步执行反射代码呢。我认为问题在于,从技术上讲,没有代码可以单步执行。假设您处理的是已编译的模块或库,那么您根本无法单步执行它,因为它已编译。即使您正在单步执行您编写

需要做什么才能进入(F11)反映的代码

我正在使用反射创建对象:

myObject.GetType().GetConstructor().Invoke(myParams)

我想进入构造函数的代码。如果我按F11,它只会跳过构造函数的代码;(

但同时,如果我在ctor上放置一个断点并点击F5,它将点击这个断点


那么,我能做些什么来启用单步执行反射代码呢。

我认为问题在于,从技术上讲,没有代码可以单步执行。假设您处理的是已编译的模块或库,那么您根本无法单步执行它,因为它已编译。即使您正在单步执行您编写的某些内容,对象也会在mem中生成因此,编译可能不再知道这些指令是从哪里来的。

我认为问题在于,从技术上讲,没有代码可以介入。假设您处理的是已编译的模块或库,您根本无法介入它,因为它已编译。即使您正在介入您编写的某些内容,对象也无法介入在内存中生成,因此编译可能不再知道这些指令是从哪里来的。

Soviut说:这是编译代码,你不能单步执行。但我在使用CodeDOM生成类并将它们写入磁盘时看到了这一点,在调试中编译CodeDOM。然后你可以单步执行生成的CLA但显然这是一个非常特殊的情况


您可能想使用Reflector来查看构造函数中发生了什么,但这是一个静态视图。

Soviut说的:它是编译代码,您不能介入其中。但我已经看到,在使用CodeDOM生成类并将它们写入磁盘时,这种方法是有效的,在调试中编译CodeDOM时,您可以介入生成的c姑娘们,但显然这是一个非常特殊的情况


您可能希望使用Reflector查看构造函数中发生了什么,但这是一个静态视图。

可能是我的代码导致了问题

在Visual Studio中:

  • 工具-->选项
  • 调试(在左侧)
  • 取消勾选右侧的“仅启用我的代码(仅管理)”

  • 我不能保证这就是导致问题的原因,但这是我最好的选择。

    可能是我的代码导致了问题

    在Visual Studio中:

  • 工具-->选项
  • 调试(在左侧)
  • 取消勾选右侧的“仅启用我的代码(仅管理)”

  • 我不能保证这就是导致问题的原因,但这是我最好的选择。

    我之前也遇到过同样的问题,但经过一些研究,我意识到JustMyCode就是问题所在。它通常会禁用大多数内置vs调试工具。删除它后一切都很好。如果您喜欢JustMyCode,请将其用作调试工具。

    I以前也有同样的问题,但经过一些研究后,我意识到JustMyCode就是问题所在。它通常会禁用大多数内置vs调试工具。删除它后一切都很好。如果您喜欢JustMyCode,请将其用作您的调试工具。

    我不确定我们是否在讨论同样的问题。我说-我无法将其转到ctor的代码,但如果我只输入简单的断点并进行调试(F5),我就可以进入这段代码。因此,如果VS检测到我将要进入MethodBase.Invoke的内容,则Visual Studio可以通过隐式添加断点和F5 ing来“模拟”介入(应涵盖50%的反射场景)我不确定我们是否在谈论同一件事。我说-我不能将其放入ctor的代码中,但我可以进入这段代码,只要我放入简单的断点并进行调试(F5)。因此,如果VS检测到我将要进入MethodBase,Visual Studio可以通过隐式添加断点和F5 ing来“模拟”介入。调用(这应该包括50%的反射场景)谢谢Jonathan。那击中了靶心。工作。太棒了。谢谢。谢谢Jonathan。那击中了靶心。工作。太棒了。谢谢。嘿alex。你能把我的答案标记为正确答案吗。