分类 调试 下的文章

简介

STATUS_FLOAT_INVALID_OPERATION---浮点数无效操作。值为0xC0000090。其定义如下

//
// MessageId: STATUS_FLOAT_INVALID_OPERATION
//
// MessageText:
//
// {EXCEPTION}
// Floating-point invalid operation.
//
#define STATUS_FLOAT_INVALID_OPERATION   ((NTSTATUS)0xC0000090L)    // winnt

说明

当我们进行浮点数运算时,且设置了浮点异常模式,遇到违反运算规则时比如对负数开平方Sqrtf(-1.0f)抛出此异常。

异常结构说明

ExceptionAddress: 75f8a6e2 (KERNELBASE!RaiseException+0x00000062)
   ExceptionCode: c0000090
  ExceptionFlags: 00000000
NumberParameters: 1
   Parameter[0]: 00affc40----_FPIEEE_RECORD结构地址

 

简介

STATUS_FLOAT_MULTIPLE_FAULTS---多浮点错误。值为0xC00002B4。定义如下

//
// MessageId: STATUS_FLOAT_MULTIPLE_FAULTS
//
// MessageText:
//
// {EXCEPTION}
// Multiple floating point faults.
//
#define STATUS_FLOAT_MULTIPLE_FAULTS     ((NTSTATUS)0xC00002B4L)    // winnt

说明

当进行浮点数运算时,且设置了浮点异常模式,当遇到溢出时,抛此异常。

异常结构说明

ExceptionAddress: 0091146f (ConsoleApplication2!_Pow_int<double>+0x0000005f)
   ExceptionCode: c00002b4
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000000
   Parameter[1]: 00001ba8----浮点 MXCSR寄存器的值,包含设置的浮点异常掩码、当前异常状态值、清零模式和四舍五入模式等

 

简介

STATUS_FLOAT_MULTIPLE_TRAPS---浮点数多重陷阱异常。值为0xC00002B5。定义如下

//
// MessageId: STATUS_FLOAT_MULTIPLE_TRAPS
//
// MessageText:
//
// {EXCEPTION}
// Multiple floating point traps.
//
#define STATUS_FLOAT_MULTIPLE_TRAPS      ((NTSTATUS)0xC00002B5L)    // winnt

说明

当进行浮点数运算时,且设置了浮点异常模式,当遇到比如除0.0操作时,抛此异常。

异常结构说明

ExceptionAddress: 00f515dc
   ExceptionCode: c00002b5
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000000
   Parameter[1]: 0000e144---浮点 MXCSR寄存器的值,包含设置的浮点异常掩码、当前异常状态值、清零模式和四舍五入模式等

 

Windbg偶尔会自动缩减新开的窗口,这有时会让我们烦恼。如果你想回到默认窗口布局,可以通过如下操作:

菜单File\Delete Workspace删除被调试进程所保持的工作区

 

如果你不满意所有会话窗口布局,但又不无法直接关闭程序,可以手动删除如下注册表项后重启Windbg:

USER\Software\Microsoft\Windbg\Workspaces

上面说的方法都会删除工作区其他数据。