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

问题描述

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

解决方案

解决此问题

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

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

  3. 在**“断点条件”对话框中,单击“条件”**复选框。 请参阅使用代码表达式指定断点条件

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

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

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

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

请参见

概念

调试本机代码常见问题

其他资源

Breakpoints

调试本机代码