2016-03-05 50 views
-2

我在ddd中调试C++应用程序。我可以将字符串从应用程序复制到gdb/ddd中的剪贴板吗?

我有一个 char *可变 空终止字符串这很长,所以显示它时DDD截断。我想在外部应用程序中检查这个字符串,那么如何将它复制到剪贴板或从gdb中导出它?

编辑:澄清,因为一些评论家似乎感到困惑 - 这是不是剪贴板API的问题。调试器允许在调试程序的内存中捕获和检查任意字符串似乎是一个非常有用的功能。那么,它可以在gdb中完成,以及如何?

+0

什么操作系统?这是平台特定的。 C不知道剪贴板 – rlam12

+0

与C(不同语言)或C++无关。 – Olaf

+0

@Olaf Ups ...老实说,我读了C,无论哪种方式...这是正确的。这与C++无关。你的OS API应该提供一些访问剪贴板的方法。再次,如果没有这方面的信息,没有人能够帮助你 – rlam12

回答

0

我有一个 char *可变 空终止字符串 其中很长,所以显示它时DDD截断。

它不是ddd,截断长字符串,它是gdb。默认情况下,gdb在显示时将所有字符串截断为200个字符。您可以设置自己的限制或将其设置为零打印无限的字符串是这样的:

(gdb) set print elements 0 

又见this question

+0

谢谢,虽然我不想打印它,但我想导出它。这个字符串的长度是数千个字符,我不想在gdb/ddd中处理它。 – spraff

+0

你可以将它保存到一个文件(gdb.txt默认):'(gdb)set logging on' '(gdb)print str' – ks1322