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

更新:2007 年 11 月

本主题适用于:

版本

Visual Basic

C#

C++

Web Developer

速成版

主题不适用 主题不适用

仅限本机

主题不适用

标准版

主题不适用 主题不适用

仅限本机

主题不适用

专业团队版

主题不适用 主题不适用

仅限本机

主题不适用

表格图例:

主题适用

适用

主题不适用

不适用

主题适用,但命令默认情况下隐藏

默认情况下隐藏的一条或多条命令。

问题描述

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

解决方案

解决此问题

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

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

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

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

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

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

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

请参见

概念

调试本机代码常见问题

断点与跟踪点

其他资源

调试本机代码