人们使用gdb打开和关闭进行调试,当然在各种操作系统中有许多其他调试工具,有或没有GUI,可能还有其他奇特的IDE功能.
我想知道你编写和喜欢的有用的gdb脚本.
虽然,我并不是指在something.gdb您提供的文件中转储命令以提取大量数据,如果这样做了一天,请继续讨论它.
让我以一个简单的案例为例......
说,
在条目
上串行遍历的脚本,用于
在嵌入式平台上实现的大型哈希表中查找错误条目.
这帮我调试了一次破坏的哈希表.
我正在尝试做一个调试系统,但它似乎不起作用.
我想要完成的是这样的事情:
#ifndef DEBUG
#define printd //
#else
#define printd printf
#endif
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?我有很多调试消息,我不想这样做:
if (DEBUG)
printf(...)
code
if (DEBUG)
printf(...)
...
Run Code Online (Sandbox Code Playgroud) 我有一个非常复杂的shell脚本,在其中调用我想通过GDB调试的C++程序.将c ++程序与shell分离是非常困难的,因为它有很多分支和很多环境变量设置.
有没有办法在这个shell脚本上调用GDB?看起来gdb需要我直接调用C++程序.
我使用管理员帐户进行开发.但每次我编译到设备Xcode都要求管理员用户名和密码.我用谷歌搜索了这个问题.但这些解决方案都没有奏效.我尝试了这篇文章的解决方法,但它没有用
我也尝试过禁用和启用DevSecurityTools,但它没有用.我正在使用Mac OSX Lion 10.7.3上安装的Xcode 4.3.1.
有没有什么办法解决这一问题?
我正在设置新的Google Analytics跟踪代码.
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'MYUACODE', 'MYDOMAIN');
ga('send', 'pageview', {
'page': '/setup',
'title': 'Setup Page'
});
</script>
Run Code Online (Sandbox Code Playgroud)
我在HEAD标签里面有这个,因为Google告诉你这样做显然MYUACODE和MYDOMAIN是我页面中真正的变量:)
但是,当我使用谷歌浏览器运行此操作并打开Google Analytics Debug扩展程序时,收到以下消息:
Registered new plugin: "linker" analytics_debug.js:5
Creating new tracker: t0 analytics_debug.js:5
New visitor. Generating new clientId analytics_debug.js:5
Storage not available. Aborting hit. analytics_debug.js:5
Run Code Online (Sandbox Code Playgroud)
它似乎正确启动并开始设置项目,但随后它说存储不可用,似乎没有任何东西得到谷歌.
现在,如果我删除所有这些代码并返回原始的Google跟踪代码,它运行正常,我似乎无法正确启动这种新风格.
有什么想法吗?救命?提前致谢
假设我有这样的java代码(仅作为示例):
public void someMethod(){
int a = 3;
int b = 2; // <-- stay debug here
a = b + 2;
System.out.prinln(a);
}
Run Code Online (Sandbox Code Playgroud)
可以跳过执行"int a = b + 2;" 然后移民到"System.out.prinln(a);"?
PS我使用Intellij Idea 12.
在Eclipse下,我可以使用Ctrl+ Shift+ 检查调试模式下的表达式/变量I.在IntelliJ IDEA(Community Edition)中,我可以向表中添加表达式/变量,但在下一次调试时它们会丢失.
有什么方法可以在我调试时动态检查变量和表达式吗?
如何加载多个符号文件gdb.我有一个可执行文件foo.out并加载模块bar.so. 我创建了两个符号文件foo.symbol和bar.symbol.如何将这两个文件加载到gdb中.
# gdb --core core
# (gdb)
# (gdb) symbol-file foo.symbol
Run Code Online (Sandbox Code Playgroud)
如何加载第二个符号文件.或者有没有办法加载目录中的所有文件gdb
我不知道为什么,但一周前,当我在Android工作室调试我的应用程序时,设备中的应用程序非常慢,但如果生成APK或使用播放(不调试)选项工作正常..
任何人都知道为什么?我想我没有在sdk或应用程序中做任何改变这样做..
Node几天前发布了它的(不那么)稳定的v5版本.我注意到当我尝试使用带有调试器的Webstorm运行节点项目时,我在启动时遇到以下异常:
Cannot stop on breakpoint due to internal error:
org.jetbrains.v8.V8CommandProcessor$1: TypeError: f is not a function
at Function.t.getScopes (eval at undefined, :217:15)
at t.describeFrame (eval at undefined, :213:33)
at t.getFrames (eval at undefined, :114:89)
at DebugCommandProcessor.r.processDebugJSONRequest (eval at undefined, :348:15)
Run Code Online (Sandbox Code Playgroud)
我没有其他环境来重现此错误.程序继续运行,但它不再停在断点上.有什么想法解决这个问题吗?
更新:我已经与Jetbrains开了一张票,他们说他们会尽快修补这个问题.