如何查明谁在传递错误的参数值?

本主题适用于:

版本

Visual Basic

C#

F#

C++

Web Developer

学习版

主题不适用 主题不适用 主题不适用

仅限本机

主题不适用

专业版、高级专业版和旗舰版

主题不适用 主题不适用 主题不适用

仅限本机

主题不适用

问题描述

给我的某个函数传递的是错误的参数值。 很多地方都在调用该函数。 如何查明是谁在传递错误值?

解决方案

解决此问题

  1. 在函数的开始处设置一个位置断点。

  2. 右击该断点并选择**“条件”**。

  3. 在**“断点条件”对话框中,单击“条件”**复选框。 有关更多信息,请参见如何:指定断点条件

  4. 在文本框中输入一个表达式(例如 Var==3),此处 Var 是包含错误值的参数的名称,3 是传给此参数的错误值。

  5. 选择**“为真”单选按钮,单击“确定”**按钮。

  6. 现在再次运行程序。 当 Var 参数的值为 3 时,断点导致程序在函数开始处暂停。

  7. 然后可以使用“调用堆栈”窗口查找调用函数并定位到其源代码。 有关更多信息,请参见如何:使用“调用堆栈”窗口

请参见

概念

调试本机代码常见问题

断点与跟踪点

其他资源

调试本机代码