问题标签 [debug-symbols]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio - 从错误位置存储/加载的 Visual Studio 符号
我对符号服务器比较陌生,我一直在试验它们和运行 Windows XP(SP3) 的 Visual Studio 2008。我遇到了一个奇怪的问题,因为我的符号没有被本地缓存在我一直指定的目录中。我发现这个 si 的可能原因是符号(.pdb's)被写入 VS 的 IDE 目录和/或符号以某种方式用 .exe 写入,我觉得这很奇怪,因为它应该是只读的。符号被发送到我指定的“服务器”,因此系统的一部分不应该是问题。
之前有没有其他人遇到过此类问题和/或可能有解决此问题的方法?
谢谢 :)
iphone - symbolicatecrash 没有为我自己的函数提供方法名称
使用 symbolicatecrash 调试崩溃日志时遇到了一个奇怪的问题。在我使用崩溃的构建的 .dSYM 文件运行 symbolicatecrash 后,它为我提供了所有 Foundation 类的函数名称,但不是我自己的应用程序的函数名称。XCode 中是否有一些我可能会丢失的设置?GENERATE DEBUG SYMBOLS 打开为 YES。
谢谢
gcc - gcc :使用 -Werror 和 -pedantic 被认为是好的做法吗?
我只是在研究 gcc 手册,有些事情我还不清楚:
- 指定标准时,我应该始终结合使用 -pedantic 吗?
- 使用-g 时,标准级别就足够了,还是我应该指定级别3,即-g3?
- 使用 -Werror 将所有警告提升为错误并使用 -pedantic-errors 将所有迂腐警告提升为错误是一种好习惯吗?
linux - 如何调试 Linux 内核模块 `init()` 中的问题?
我正在使用远程 (k)gdb 来调试模块中的问题,该问题在加载时会导致恐慌,例如在init()
调用时。
堆栈跟踪仅显示do_one_initcall(mod->init)
导致崩溃的原因。为了在 gdb 中加载符号文件,我需要获取模块文本部分的地址,并且要获取该地址,我需要加载模块。
因为insmod
busybox(1.16.1)不支持-m
所以我坚持grep modulename /proc/modules
+添加偏移量nm
来找出地址。
所以我在这里面临着鸡和蛋的问题——为了能够调试模块加载,我需要加载模块——但是为了加载模块,我需要调试问题。 ..
所以我目前正在考虑两种选择 - 有没有办法获取地址信息:
- 通过模块初始化代码中的 printk()
- 通过内核代码中某处的 printk()
所有这一切都在调用之前mod->init()
- 所以我可以在那里放置一个断点,加载符号文件,点击c并看到它崩溃并烧毁......
debugging - 从内核调用跟踪中获取行号
我正在尝试调试似乎是完成队列问题:
是否可以将这些十六进制数字转换为接近行号的数字?
c++ - GCC:独立 C++ 应用程序中符号的可见性
由于一个关于某些符号可见性的奇怪 C++ 警告和一个有趣的答案,链接到描述不同可见性类型和案例的论文(第 2.2.4 节是关于 C++ 类),我开始怀疑它是否需要完全导出符号的独立应用程序(除了main
- 或者需要吗?)。
为什么它们需要在独立应用程序中导出?
“导出符号”是“可见符号”的同义词吗?即隐藏符号是未导出的符号?
目标文件在可见符号和隐藏符号之间是否已经不同?或者这是在链接步骤中进行的,以便只导出可见符号?
对于调试信息,符号的可见性是否重要?或者那是完全独立的,即如果我隐藏了所有符号,我也会得到一个很好的回溯?STABS/DWARF 与符号的可见性有何关系?
.net - 如何让 .NET/Silverlight 源代码符号在 VS 2010 中工作?
当 M$ 首次发布将 Visual Studio 指向符号服务器并实际调试到 .NET 代码的能力时,我得到了它并且在 VS2008 上工作没有问题。
现在尝试使用 VS2010 或我的 VS2008 本地副本来执行此操作似乎不起作用。它成功下载了符号,堆栈帧从灰色变为黑色,但没有可用的源。
有没有人得到这个工作?如果是这样,秘诀是什么?是否还有可用于 Silverlight 的资源?
c# - C# 和 ASP.NET MVC:在视图中使用 #if 指令
我使用了一个名为“RELEASE”的条件编译符号,我在 Visual Studio 的项目属性中指出了它。我希望在定义 RELEASE 符号时将一些特定的 CSS 应用于元素,并且我试图从视图中执行此操作,但它似乎不起作用。
我的视图代码如下所示(出于演示目的而缩短了一点):
使用此代码和 RELEASE 符号集,“else”代码正在运行,我得到一个带有 debugBanner 类的 div。所以似乎没有定义 RELEASE 。值得注意的是,我在 .cs 文件中的实际 C# 代码正在识别 RELEASE 并运行正确的代码。只有观点给我带来了问题。
有没有人对此有任何见解?任何帮助,将不胜感激。谢谢。
澄清:我应该提到这个视图已经是一个局部视图,我将在需要它的页面中简单地呈现它。那是因为这些横幅将出现在某些页面上,而不是其他页面上。因此,即使通过以下方式将其渲染为部分视图:
Html.RenderPartial("BannerView");
它不工作。
iphone - Xcode,某些子类没有调试符号
我正在使用 Xcode 3.2.3 和 iPhone SDK
所以我试图调试一个 UIView 子类,我在一个被覆盖的方法中遇到了一个断点,我在 GUI 或 gdb 中都看不到任何符号,只有全局变量和寄存器。
这就是我所看到的:
然而,当我在 UIViewController 子类中设置断点时,所有符号都在那里:
我尝试过的一些事情:
- 清理所有/重建
- 重启 Xcode
- 调试和发布之间的变化
- 在项目设置中配置这些选项:
- GCC_DEBUGGING_SYMBOLS = 全部
- 符号 DEBUG_INFORMATION_FORMAT = DWARF, DWARF w/ dSYM 文件
- BUILD_VARIANTS = 正常,调试
rm -rf /Developer
通过咒骂它并输入root bash提示来威胁Xcode
请帮忙,我的手指因使用 NSLog 调试而流血
.net - .NET 发布模式构建中是否提供堆栈跟踪信息?
如果我选择发布模式构建 dll,stacktrace 信息是否仍然可用?
如果是这样,那么在发布模式下哪些信息不可用?