
- (voID) keyDown:(NSEvent *) e
,我已经完成了
set $mf = (int)[e modifIErFlags]
在gdb提示符上.现在我想做
p $mf & NSControlKeyMask
并且gdb告诉我’当前上下文中没有符号“NSControlKeyMask”.
更新:
Xcode具有“Fix and Continue text”功能.所以我使用了Dan M.和n8gray解决方案,因此我不需要对每个常量进行代理.
解决此问题的方法通常是在代码中的某处显式添加有问题类型的虚拟变量.这是一个简单的例子,你可以测试看看我在说什么:
enum an_enum_type { foo,bar,baz};int main (int argc,char *argv []){ return baz;} 将该程序保存到名为test.cpp的文件中,并使用以下命令对其进行编译:
g++ -o test -g -O0 test.cpp
然后在gdb下运行它并输入“p / x baz”.您将获得“当前上下文中没有符号baz”错误.
现在尝试使用这个已添加枚举类型的虚拟变量的修改版本:
enum an_enum_type { foo,baz};an_enum_type dummy;int main (int argc,char *argv []){ return baz;} 使用与以前相同的命令编译并在gdb下运行.这次当你输入“p / x baz”时,你会得到“0x2”作为答案,我认为这是你在问题中拍摄的内容.
我调查了它,问题是NSEvent.h头文件没有给包含NSControlKeyMask的枚举命名 – 它是一个匿名枚举.因此无法创建该类型的变量(虚拟或其他).所以,我没有看到让编译器生成该类型的调试信息的任何方法.我想你只需要依赖头文件中NSControlKeyMask的定义.
总结以上是内存溢出为你收集整理的cocoa – 如何使用gdb打印和使用常量(通过Xcode)?全部内容,希望文章能够帮你解决cocoa – 如何使用gdb打印和使用常量(通过Xcode)?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)