标签: debugging

确定.class文件是否使用调试信息编译?

如果使用调试信息编译,我如何确定任何Java .class文件?

如何确切地说出使用了-g {source | lines | vars}选项?

java debugging class

38
推荐指数
1
解决办法
1万
查看次数

_iterator_debug_level值'0'与值'2'不匹配

我刚刚将Visual Studio(C++)解决方案转移到另一台计算机上,根据我的需要设置了所有目录和设置,并对解决方案进行了清理/重建.我在编译时在一堆.obj上得到了上面的错误,不知道如何处理它.

c++ compiler-construction debugging visual-studio

38
推荐指数
3
解决办法
6万
查看次数

确定Eclipse中的Java应用程序是否处于调试模式

我想改变日志记录级别,具体取决于我是否正在进行调试,但是我找不到代码片段来检查应用程序是否在调试模式下运行.

我正在使用eclipse来调试应用程序,所以如果解决方案只能在Eclipse中运行,那就没问题了.

java eclipse debugging logging

37
推荐指数
4
解决办法
4万
查看次数

Objective-C中的NS_BLOCK_ASSERTIONS

我在iPhone应用程序中使用NSAssert()调用,而我对Apple文档的理解是,如果定义了NS_BLOCK_ASSERTIONS,则断言不会编译到代码中.

要关闭断言,我在头文件中声明:#define NS_BLOCK_ASSERTIONS

但是,断言代码似乎仍在运行.

这里有什么我想念的吗?

谢谢

约翰

iphone debugging xcode objective-c

37
推荐指数
2
解决办法
1万
查看次数

在NUnit中替换Console.WriteLine?

之前没有对NUnit做过多少工作,但只是想以控制台类型的方式将一些文本转储到窗口中.

e.g. Console.WriteLine("... some information...");  
Run Code Online (Sandbox Code Playgroud)

这当然不会起作用,因为NUnit正在推动事情发展.

我正在构建一些单元测试,并希望在调试期间转储一个变量值列表以供检查.如果我需要这样做,它不是严格的单元测试,我承认,但这将是方便的.

.net c# debugging nunit

37
推荐指数
5
解决办法
4万
查看次数

如何在Google Chrome中调试标签崩溃

我们有一个单页面应用程序随机崩溃整个浏览器选项卡.我观察了一个多小时的记忆,但它没有增加,一切看起来都很好.经过一段时间后突然间,突然崩溃了.

我找了一个崩溃转储

C:\Users\cburgdorf\AppData\Local\Google\CrashReports
Run Code Online (Sandbox Code Playgroud)

但Chrome-last.dmp完全过时了.有什么地方可以查找有关崩溃的其他信息吗?更不用说它很难重现野兽.

我想知道我是否可以启动带有windbg的Chrome并等待(2小时左右的叹息)因为标签崩溃.那会有用吗?

UPDATE

你们所有人都给出了很好的答案,并为寻找漏洞提供了有价值的建议 最后,我能够使用以下步骤重现错误并获得明确的崩溃转储:

1.) windbg.exe -o chrome.exe
2.) reproduce crash
3.) .dump /ma C:\Path\To\A\CrashDump\File.dmp (as Paul pointed out)
4.) end session and load the crash dum with windbg
5.) use !analyze -v to extract valuable information
Run Code Online (Sandbox Code Playgroud)

crash debugging google-chrome

37
推荐指数
1
解决办法
2万
查看次数

theano - TensorVariable的打印值

如何打印theano TensorVariable的数值? 我是theano的新手,所以请耐心等待:)

我有一个函数,我y作为参数得到.现在我想调试打印y到控制台的形状.运用

print y.shape
Run Code Online (Sandbox Code Playgroud)

导致控制台输出(我期待数字,即(2,4,4)):

Shape.0
Run Code Online (Sandbox Code Playgroud)

或者我如何打印例如以下代码的数值结果(这将计算有多少值y大于最大值的一半):

errorCount = T.sum(T.gt(T.abs_(y),T.max(y)/2.0))
Run Code Online (Sandbox Code Playgroud)

errorCount应该是一个数字,因为T.sum总结了所有的值.但是使用

print errCount
Run Code Online (Sandbox Code Playgroud)

给了我(期待的东西134):

Sum.0
Run Code Online (Sandbox Code Playgroud)

python debugging theano

37
推荐指数
2
解决办法
3万
查看次数

Eclipse GDB MacOSX Mavericks

我在使用带有XCode 5.0的Eclipse C/C++项目进行Application Debug时遇到了很多问题,我终于做到了.我终于能够成功调试我的应用程序,这就是为什么我决定制作这个小教程,希望能节省时间给别人.

当尝试在Mavericks OS上的Eclipse上用C/C++编写调试和应用程序时,它会出现"Error gdb - version".

这是因为Eclipse无法在新的Mac OSX上找到GDB调试,因为Apple不再使用GDB支持代替LLDB.要检查这是否是您的情况,只需尝试从终端运行,gdb它将显示为找不到文件.

问题是LLDB还没有为Eclipse配置(或者相反).那么如何使Eclipse再次调试应用程序,就像之前的10.8操作系统一样?

首先获取并编译GDB.您有两种可能的选择:

  • Macports(不幸的是,Mavericks的发布陷入了构建getext库)
  • 家酿

我的建议是从Homebrew获得它.在他们的网站上查看下载链接并使用安装

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/hebrew/go)"
Run Code Online (Sandbox Code Playgroud)

让它安装.在成功安装GDB之后,您需要签署证书以使Eclipse能够使用GDB,否则它将显示错误:

无法找到进程ID为28885的Mach任务端口:(os/kern)失败(0x5).(请检查gdb是否为codesigned - 请参阅taskgated(8))

这意味着Eclipse现在可以找到GDB但由于Apple证书问题而无法运行它.

要签署GDB应用程序并使Eclipse运行它,请遵循以下指南:

https://sourceware.org/gdb/wiki/BuildingOnDarwin

可归纳为:

  1. 启动Keychain Access应用程序(/ Applications/Utilities/Keychain Access.app)
  2. 打开菜单/钥匙串访问/证书助理/创建证书(TOP MENU BAR)

  3. 选择一个名称(示例中为gdb-cert)3.1将"Identity Type"设置为"Self Signed Root"3.2将"Certificate Type"设置为"Code Signing"3.3检查标志"Let me override defaults"3.4单击"继续"直到进入"指定证书位置"屏幕"然后将钥匙串设置为"系统"3.5如果您无法将证书存储在"系统"钥匙串中,请在"登录"钥匙串中创建,然后导出它.然后,您可以将其导入"系统"钥匙串.3.6确保"系统"中有"gdb-cert"(左上方窗口)

  4. 在新制作的证书(gdb-cert)上按两次,选择"获取信息",

  5. 打开"Trus"t项,并设置"代码签名始终信任"
  6. 关闭Keychain Access应用程序
  7. 从活动监视器重新启动"taskgated"应用程序

现在您需要通过终端进行签名认证

$ codesign -s gdb-cert ../path of GDB
Run Code Online (Sandbox Code Playgroud)

例:

$ codesign -s gdb-cert /usr/local/bin/gdb
Run Code Online (Sandbox Code Playgroud)

你们现在都已经准备就绪....准备在MacOSX Mavericks上调试Eclipse上的C/C++应用程序

确保你已经正确设置了所有设置再次仔细检查Eclipse菜单运行 - >调试配置 - >调试器行:GDB调试器 - >/usr/local/bin/gdb(或你的本地路径,检查"$ which gdb "获取正确的路径"GDB命令文件 - > …

eclipse debugging xcode osx-mavericks

37
推荐指数
0
解决办法
1万
查看次数

500内部服务器错误,如何调试

我的POST请求中有内部服务器错误.我该如何调试它们?是否可以在php.ini中设置?该文件非常大,并且在很多时候会遇到"错误"这个词.

php debugging

37
推荐指数
2
解决办法
9万
查看次数

在使用旧API的设备上调试时,Android studio会显示来自compileSdkVersion的API的源代码

我正在调试Android Studio(AS)1.0.2,并在build.gradle中设置了compileSdkVersion 21.使用带有API 21的模拟器时,一切正常.在具有API 19的设备上进行调试时会出现此问题.调用堆栈中的每一行(在AS中标记为"帧")正确显示与API 19匹配的函数名称,源文件和行号.但是,当我单击一个时与其中一个框架源(例如Activity.java)对应的行,AS错误地打开并显示文件的API 21版本而不是API 19版本.

在我的android sdk文件夹中,我有./sources/android-19和./sources/android-21

知道为什么AS显示错误的文件版本?

我试过的事情(按顺序):

  • 重置Android Studio(删除〜/ .AndroidStudio*)
  • 将Android Studio更新到最新版本
  • 使用API​​ 21在AS模拟器上运行 - AS显示文件的正确版本(21).
  • 将compileSdkVersion更改为19并在API 19设备上运行 - AS在调用堆栈中显示正确的行号,并在正确的行中打开文件的正确版本(API 19).
  • 将compileSdkVersion更改为19并在API 21仿真器上运行 - AS在调用堆栈中显示与API 21对应的行号(在我看来这是正确的行为),但是,当单击它时,AS错误地打开了API 19版本的文件而不是API 21版本.

总而言之,当单击调用堆栈中的一行时,AS将打开由compileSdkVersion表示的文件版本,而不是调试会话期间设备/仿真器使用的版本.

api debugging android android-studio

37
推荐指数
2
解决办法
4901
查看次数