我在Linux中使用c ++编写了一个非常简单的程序,它使用cURL库从http(基本上开发了一个http客户端请求)下载来自某个网站的图像.http://curl.haxx.se/libcurl/c/allfuncs.html
#define CURL_STATICLIB
#include <stdio.h>
#include <stdlib.h>
#include </usr/include/curl/curl.h>
#include </usr/include/curl/stdcheaders.h>
#include </usr/include/curl/easy.h>
size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream) {
size_t written = fwrite(ptr, size, nmemb, stream);
return written;
}
int main(void) {
CURL *curl;
FILE *fp;
CURLcode res;
char *url = "http://www.example.com/test_img.png";
char outfilename[FILENAME_MAX] = "/home/c++_proj/output/web_req_img.png";
curl = curl_easy_init();
if (curl) {
fp = fopen(outfilename,"wb");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
res = curl_easy_perform(curl);
/* always cleanup */
curl_easy_cleanup(curl);
fclose(fp);
} …
Run Code Online (Sandbox Code Playgroud) 我刚刚在Ubuntu 14.04 LTE上安装了ddd.如果我在命令行上运行它,我会收到以下警告:
user@user-VirtualBox:~/projects/myproject$ ddd
Warning: Cannot convert string "-*-helvetica-medium-r-*-*-*-120-*-*-*-*-iso8859-*" to type FontStruct
(Annoyed? Try 'Edit->Preferences->General->Suppress X Warnings'!)
Warning: Cannot convert string "-*-helvetica-medium-r-*-*-*-100-*-*-*-*-iso8859-*" to type FontStruct
Warning: Cannot convert string "-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-iso8859-*" to type FontStruct
Warning: Cannot convert string "-*-lucidatypewriter-bold-r-*-*-*-120-*-*-*-*-iso8859-*" to type FontStruct
Warning: Cannot convert string "-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*" to type FontStruct
Warning: Cannot convert string "-*-helvetica-medium-*-*-*-*-120-*-*-*-*-iso8859-*" to type FontStruct
Warning: Cannot convert string "-*-helvetica-bold-*-*-*-*-120-*-*-*-*-iso8859-*" to type FontStruct
Warning: Cannot convert string "-*-helvetica-bold-r-*-*-*-180-*-*-*-*-iso8859-*" to type FontStruct
Warning: Cannot convert string "-*-symbol-*-*-*-*-*-120-*-*-*-*-adobe-*" to …
Run Code Online (Sandbox Code Playgroud) 当我启动ddd时,似乎挂起等待gdb.这是输出的尾端ddd --trace
:
# Saving session in "/home/kbrandt/.ddd/sessions/106d7eb3d567f23b01125736049734486400000041300582/init"...
# Saving session in "/home/kbrandt/.ddd/sessions/106d7eb3d567f23b01125736049734486400000041300582/init"...done.
2009.11.04 13:48:17
<- "(gdb) "
Run Code Online (Sandbox Code Playgroud)
如果我选择不同的调试器,就不会发生这种情况--perl
.我读过有关添加set prompt (gdb)
到~/.gdbinit
(末尾的空格)的内容,但这并不能解决问题.gdb自己很好.谁知道这可能是什么?
我正在调试使用ddd在远程目标上运行的程序(例如,远程gdbserver通过端口1234在localhost上运行,但仍然充当远程).
我知道你可以通过打开ddd连接到gdbserver,然后调用ddd target remote localhost:1234
的gdb命令行,如下所述:http:
//www.gnu.org/software/ddd/manual/html_mono/ddd.html#Remote% 20Program
但是,我讨厌target remote localhost:1234
每次打开ddd时都必须调用该命令,并且我想将其设置为使用别名自动连接到gdbserver.我试过运行ddd --rhost localhost:1234 program
,但是一旦ddd启动了一个窗口弹出窗口,声明"GDB无法启动",并在shell中写道:
sh:1:exec:localhost:1234:找不到
任何人都知道如何在启动时连接到远程gdbserver?
TNX!
我正在尝试使用ddd调试程序.当我尝试输入任何功能或其内部时main()
,我收到以下警告:
警告:(内部错误:在psymtab中读取pc 0x804a6b0,但在symtab中没有.)
每当我尝试使用n
或进入或离开某个功能时,此警告都会闪烁.我试图在其他论坛中查看,但没有确定的答案.我试图调试的代码运行到几个文件,我不知道我是否可以在这里发布整个代码.
我使用的是g ++版本:
g ++(GCC)4.4.1 20090725(Red Hat 4.4.1-2)
对此有任何帮助是最受欢迎的.
除了DDD之外还有什么可以绘制我的数据结构的图表,比如在Linux上运行的DDD吗?
ddd还可以运行,只是有一种旧的笨拙的感觉,只是想探索替代品,如果有的话.
我正在谈论的是这个图像网格的顶部部分:
我试图找出我的c ++代码中的问题,并在Sun机器上调试DDD.我需要按照我们的标准使用字符串.但是每当DDD遇到字符串变量时,它总是变为空.我想记住在SGI之前使用CVD时遇到同样的问题.
如果没有重新编写我的代码以删除字符串,还有什么我可以尝试/使用的吗?
我安装了Tk版本8.5.3,自8.5以来添加了引擎支持.不过,我不知道如何使用主题,默认的Motif只是丑陋:
我正在使用调试一个多线程应用程序ddd
。
在每秒的同一时间,我可以在DDD 控制台上看到创建了一个新线程
[NewThread 0x455fc940 (LWP 27373)]
Run Code Online (Sandbox Code Playgroud)
并在此之后立即摧毁。
[Thread 0x455fc940 (LWP 27373) exited]
Run Code Online (Sandbox Code Playgroud)
几分钟后,我把这段文字讲出来了
[NewThread 0x455fc940 (LWP 27363)]
[Thread 0x455fc940 (LWP 27363) exited]
[NewThread 0x455fc940 (LWP 27367)]
[Thread 0x455fc940 (LWP 27367) exited]
[NewThread 0x455fc940 (LWP 27373)]
[Thread 0x455fc940 (LWP 27373) exited]
...and so on..
Run Code Online (Sandbox Code Playgroud)
随着这个LWP的增加。
威胁来了又走得太快,以至于无法在我单击状态->线程的窗口中显示。您能否谈谈如何获取有关该线程的信息?
您知道为什么这个LWP一直在增加吗?更重要的是如何将午餐功能纳入该线程?
谢谢大家AFG
当ddd
遇到一个scanf
声明,它会显示"等待,直到GDB已经准备好了"的消息.调试活动在此处停止.请指导我克服这个错误.
我正在使用amd64 athlon处理器.