我最近开始使用Eclipse-CDT,并且在调试透视图中对变量窗口中的'this'和'this @ entry'感到好奇。它们都具有相同的内存地址并且看起来完全相同但是为什么包括两者? 'this @ entry'是否意味着在函数中的某个断点处表示'this'的状态?在'this @ entry'下表示的值是否超出范围,可以这么说,并在函数返回时更新'this'?
team1,2和currentMatch是我正在调试的类的全局变量,断点位于该类的成员函数中。
答案 0 :(得分:12)
@entry表单是指输入函数时参数的值。这并不总是可用,但有时它是 - 它有一个DWARF扩展,GCC尽可能发出它。
这里有一些信息:
https://sourceware.org/gdb/onlinedocs/gdb/Variables.html
IIRC在gdb的CLI中我们决定采用一种格式,当它与当前值不同时,仅在回溯中显示“@entry”。但MI(Eclipse使用的)是不同的,并且从你说的似乎总是显示它。