草庐IT

dl-debug

全部标签

debugging - 如何可视化 AVR 程序的内存 (SRAM) 使用情况?

我在AVR微Controller(ATMega328P)上运行的C程序中遇到了问题。我相信这是由于堆栈/堆冲突,但我希望能够确认这一点。有什么方法可以可视化堆栈和堆的SRAM使用情况?注意:程序用avr-gcc编译,使用avr-libc。更新:我遇到的实际问题是malloc实现失败(返回NULL)。所有malloc发生在启动时,所有free发生在应用程序结束时(实际上从来没有,因为应用程序的主要部分处于无限循环中).所以我确信碎片化不是问题。 最佳答案 您可以使用avr-size实用程序检查RAM静态使用情况,如中所述http://

c++ - gcc 中库 dl 的含义

我正在检查一个makefile,并看到使用的库是:LIBS=-lcppunit-ldllcppunit是单元测试库。那么ldl是什么? 最佳答案 这是动态加载器的接口(interface),它为客户端程序提供了执行诸如显式加载其他库、在其中查找符号等操作的能力。大多数程序不需要显式地做这些事情,因为链接器会在加载程序和库本身时执行正常使用共享库所需的操作。然而,聪明或试图探索和操纵动态链接系统及其数据的程序需要显式访问。有些功能与Java中的反射非常相似,但有很大的限制(例如仅适用于动态符号)

c++ - gcc 中库 dl 的含义

我正在检查一个makefile,并看到使用的库是:LIBS=-lcppunit-ldllcppunit是单元测试库。那么ldl是什么? 最佳答案 这是动态加载器的接口(interface),它为客户端程序提供了执行诸如显式加载其他库、在其中查找符号等操作的能力。大多数程序不需要显式地做这些事情,因为链接器会在加载程序和库本身时执行正常使用共享库所需的操作。然而,聪明或试图探索和操纵动态链接系统及其数据的程序需要显式访问。有些功能与Java中的反射非常相似,但有很大的限制(例如仅适用于动态符号)

华为LiteOS操作系统中的LOS_DL_LIST_ENTRY怎么理解?

一、引入介绍在阅读华为LiteOS的源码过程中,经常可以看到LOS_DL_LIST_ENTRY这个东东,给它展开其实它就是这样的一个宏定义:#defineLOS_DL_LIST_ENTRY(item,type,member)\((type*)(VOID*)((CHAR*)(item)-LOS_OFF_SET_OF(type,member)))这个宏的大题思想就是:结构体的首地址=某个成员的地址-这个成员的偏移地址。接下来对这个宏进行完全解读~二、宏定义解读首先,先告诉大家它的功能:返回item所在结构体的首地址,也就是这个结构体第一个成员的地址*。再给大家解读下它的三个形参的意义:item:要

使用动态输出打印内核的DEBUG信息

简介printk()是很多嵌入式开发者喜欢用的调试手段之一,但是,使用printk()每次都要重新编译内核,很不方便。使用动态输出在不需要重新编译内核的情况下,方便的打印出内核的debug信息。要开启动态输出,内核需要添加CONFIG_DYNAMIC_DEBUG。开启宏之后,pr_debug(),dev_dbg(),print_hex_dump_debug(),print_hex_dump_bytes()`所有信息都可以被动态打印出来。动态输出支持的特性动态输出在debugfs文件系统中对应的是control文件节点。control文件节点记录了系统中所有使用动态输出技术的文件名路径,输出语句

c++ - _ITERATOR_DEBUG_LEVEL = 1 是什么意思?

在VS2010中,C++项目在x64/Release中链接时出现此错误:错误LNK2038:检测到“_ITERATOR_DEBUG_LEVEL”不匹配:值“0”与值“1”不匹配所有其他配置/平台组合链接就好了。因此,构建了一个静态库,其中_ITERATOR_DEBUG_LEVEL设置为0,而依赖于它的.dll以某种方式将_ITERATOR_DEBUG_LEVEL设置为1。我试图弄清楚这意味着什么,以便弄清楚如何将其关闭!我在谷歌搜索时发现此错误的唯一引用是_ITERATOR_DEBUG_LEVEL与值0和2冲突时。这表明尝试将发布与调试链接。但我敢肯定,这里不是这种情况。

c++ - _ITERATOR_DEBUG_LEVEL = 1 是什么意思?

在VS2010中,C++项目在x64/Release中链接时出现此错误:错误LNK2038:检测到“_ITERATOR_DEBUG_LEVEL”不匹配:值“0”与值“1”不匹配所有其他配置/平台组合链接就好了。因此,构建了一个静态库,其中_ITERATOR_DEBUG_LEVEL设置为0,而依赖于它的.dll以某种方式将_ITERATOR_DEBUG_LEVEL设置为1。我试图弄清楚这意味着什么,以便弄清楚如何将其关闭!我在谷歌搜索时发现此错误的唯一引用是_ITERATOR_DEBUG_LEVEL与值0和2冲突时。这表明尝试将发布与调试链接。但我敢肯定,这里不是这种情况。

debugging - 如何在 Meteor 的服务器端调试和记录自己的代码?

没关系。这不起作用的原因:我忘记了meteorreset所以debugger没有机会停止。呵呵!更多信息:我正在使用MasonChang对相关问题的回答中的方法,而不是kill-sUSR1[proc_id](我可以在其中看到脚本,但无法在startup()函数中停止。)。另外,我正在使用陨石。我正在尝试调试Meteor.startup(function())Meteor服务器端的代码(即,在/server下)与Node检查器,我已阅读此question,并按照更改run.js的答案,但不知何故,我自己的启动功能脚本没有出现在Chrome的脚本部分中。如何在此处查看我的代码并设置断点并在

debugging - 如何在 Meteor 的服务器端调试和记录自己的代码?

没关系。这不起作用的原因:我忘记了meteorreset所以debugger没有机会停止。呵呵!更多信息:我正在使用MasonChang对相关问题的回答中的方法,而不是kill-sUSR1[proc_id](我可以在其中看到脚本,但无法在startup()函数中停止。)。另外,我正在使用陨石。我正在尝试调试Meteor.startup(function())Meteor服务器端的代码(即,在/server下)与Node检查器,我已阅读此question,并按照更改run.js的答案,但不知何故,我自己的启动功能脚本没有出现在Chrome的脚本部分中。如何在此处查看我的代码并设置断点并在

debugging - 如何使用 PHPStorm 远程调试 Node JS?

我有一个windows盒子和一个运行CentOS的VM。有谁知道我如何使用PHPStorm调试NodeCLI脚本(不打开端口)?“编辑配置”似乎只支持连接某处而不是监听传入的连接。 最佳答案 确保您拥有nodejsplugin已安装。如果您的服务器有可用的平衡器包(我的EC2盒子没有),您可以usethistutorial使用平衡器转发端口。yuminstallbalance-ytbalance-df8585127.0.0.1.5858许多报告成功通过iptables重定向从eth0到lo(对我不起作用),如下所示:iptables