各位大侠:
有这样一个问题,当程序运行时,突然停掉它,crash了,停在了一个函数里,watch了一下,一个指针成员变量的vfptr看起来是一个正常值,但是vtable中的虚函数查看时,都显示error: expression can't be evaluated, 该函数会进入多次,crash之前,跟进去的话,是可以看到vtable中虚函数的地址的,但crash时,在watch时就变成了expression can't be evaluated, 该指针成员变量其他成员都可以看到值,而且看起来好像也正常。
不知道“error: expression can't be evaluated”提示表明什么现象? 是不是说明该指针成员在其他地方被释放了?但我看了一下没有地方释放它啊。
各位大侠能否给一些指导?
看到的结果类似于下面:
vfptr 0x1088c0c
[0] error: expression can't be evaluated
[1] error: expression can't be evaluated
。
有这样一个问题,当程序运行时,突然停掉它,crash了,停在了一个函数里,watch了一下,一个指针成员变量的vfptr看起来是一个正常值,但是vtable中的虚函数查看时,都显示error: expression can't be evaluated, 该函数会进入多次,crash之前,跟进去的话,是可以看到vtable中虚函数的地址的,但crash时,在watch时就变成了expression can't be evaluated, 该指针成员变量其他成员都可以看到值,而且看起来好像也正常。
不知道“error: expression can't be evaluated”提示表明什么现象? 是不是说明该指针成员在其他地方被释放了?但我看了一下没有地方释放它啊。
各位大侠能否给一些指导?
看到的结果类似于下面:
vfptr 0x1088c0c
[0] error: expression can't be evaluated
[1] error: expression can't be evaluated
。
First-chance exception at 0x7c81eb33 in MediaServer.exe: 0x80010105: 服务器出现意外情况。.
First-chance exception at 0x7c918fea in MediaServer.exe: 0xC0000005: Access violation writing location 0x00000010.
First-chance exception at 0x7c81eb33 in MediaServer.exe: 0x80010105: 服务器出现意外情况。.
First-chance exception at 0x0120b4b8 (RtpDll.dll) in MediaServer.exe: 0xC0000005: Access violation reading location 0x01089c0c.
Unhandled exception at 0x0120b4b8 (RtpDll.dll) in MediaServer.exe: 0xC0000005: Access violation reading location 0x01089c0c.我有个问题,最后一行:0x0120b4b8指的是代码段中代码地址,后面的0xC0000005不知道指的是什么地址?0x1089c0c 就是上面的vfptr 0x1088c0c , 上面写错了,就是vfptr的值,但只vtable中的函数就 expression can't be evaluated各位大侠有何见解?