如何调用C++;在XCode中的lldb摘要格式中的方法?
XCode版本6.3.2(6D2105) 我试图显示的变量类型为如何调用C++;在XCode中的lldb摘要格式中的方法?,xcode,debugging,lldb,data-formatters,Xcode,Debugging,Lldb,Data Formatters,XCode版本6.3.2(6D2105) 我试图显示的变量类型为boost::posix_time::ptime,但我的问题适用于任何C/C++类型。指定时间的日期部分(年、月、日)由date()方法检索,时间的小数部分(小时、分钟、秒)由time_of_day()方法返回。因此,在调试器处于活动状态时,右键单击列表中的变量可以设置摘要格式,并且仅显示日期的年份部分应该类似于{$VAR.date().year()}。理想情况下,我希望在debugger视图中变量旁边的摘要中打印2015/6/11
boost::posix_time::ptime
,但我的问题适用于任何C/C++类型。指定时间的日期部分(年、月、日)由date()方法检索,时间的小数部分(小时、分钟、秒)由time_of_day()方法返回。因此,在调试器处于活动状态时,右键单击列表中的变量可以设置摘要格式,并且仅显示日期的年份部分应该类似于{$VAR.date().year()}
。理想情况下,我希望在debugger视图中变量旁边的摘要中打印2015/6/11 3:20:29
,但现在我只想显示年份部分
但是,将显示“摘要不可用”,输出窗口将打印:
错误:调用目标中不存在的函数“boost::date\u time::date::year()const”(“boost ZNK5boost9date\u time4dateINS\u 9gregorian4dateENS2\u 18gregorian\u calendarENS2\u 13date\u durationEE4yearEv”)
格式(PDF格式)表示概要格式表达式可以包含函数和方法调用,但给出的例子是针对目标C而不是C++。这是在主节
编写数据格式化程序和子节表达式,包括函数或方法调用中出现的错误表明您试图调用的函数在正在运行的程序中不存在。如果函数只存在内联,则C++会发生。调试器目前不知道如何从标头构造函数的可调用版本,我们当然不能调用它的内联版本。您可以通过在二进制文件上运行nm
来验证这一点,并查看周围是否真的有这样的符号
另一种可能性是有这样一个函数,但它因const而不同,或者其中一个参数的类型与表达式解析器猜测的类型略有不同,因此我们正在寻找一个稍微不同的名称,而没有找到它。如果在二进制文件上执行nm
操作时确实出现了一个貌似可信的候选者,并且我们没有调用它,请向bug reporter提交一个bug,地址为:
所以有人可以看看