gt811-icad小米4怎么打开usb调试调试

联想K920怎么开启usb调试模式的方法
有关联想K920手机如何打开usb调试模式的技巧在这里说一下,很多新手对于这个问题一直没弄明白,所以不知道如何开启usb调试,下面呢就来教教大家如何开启usb调试模式了,这个其实也是比较简单的,只是奶多新手是第一次操作,不知道这一点,当大家的手机用数据线连接电脑或着是连接电脑上的手机助手软件的时候,都会提示你打开的,下面就来给大家说说具体的开启方法:
1:手机在在待机界面中找到并点击【系统设置】,如下图:
2:在【系统设置】的界面中找到并点击【关于手机】,如下图:
3:然后在【关于手机】中找到并点击进入【设备信息】,如下图:
4:在【设备信息】界面找到并连续点击7次以上【版本号】,直至手机屏幕出现【您已处于开发者选项】,如下图:
5:返回到【系统设置】界面,点击进入【开发者选项】,然后将【USB调试】勾选即可开启USB调试。
6:这样你的联想K920开启USB调试成功!
相关报道:
新闻热线:010-
责任编辑:王娟娟
已有位网友参与评论
名企动态: |
标志着Windows迈出个性化计算的第一步……
本站特聘法律顾问:于国富律师
Copyright (C) 1997-25901人阅读
CLR小组中存在着大量的回归测试,这些回归测试会定期执行来发现CLR中的Bug,Developer在Checkin之前,也需要执行这些测试的一部分(大概是10小时左右,如果全部跑的话估计要好几天)。这些测试对于保证CLR的质量是至关重要的。有时候,这些测试会偶尔失败,比如跑100次失败大概一到两次,有些极端的例子甚至是10000次才失败一次。像这种问题通常是很难调试的。在前面这篇文章中,我讲到了如何通过条件断点收集各种信息来判断Bug究竟出在哪里。但是,这个方法还是不太管用,因为它不能够反复执行某个程序。下面我要讲一种技巧可以用来调试类似这样的问题,这种技巧主要适用于下面几种情况:
在程序出错的时候,某些信息、状态已经丢失,无法通过当前出错时候的状态推断出之前的状态。说的稍微具体一点就是,比如某个变量变成了NULL导致Access Violation,但是很难直接推断出为什么这个变量变成了NULL
程序运行时间较长,很难直接单步调试
程序较难修改加入打印代码(比如加入新代码并编译非常花时间,或者该程序没有源代码
该程序运行次数较多的时候才能发现问题,也就是说问题不是每次都出现
#2和#4决定了一步步调试基本上是不可能的。#1和#3则意味着我们必须得使用条件断点来收集信息来判断代码的错误,因为直接调试出错的位置是不可行的。下面了我来讲一下如何用CDB(其实就是WinDbg的无UI版本,WinDbg=CDB+UI)来做到:
反复执行程序
当程序出错的时候自动暂停
通过条件断点收集信息,只保留出错时候的那一次Log
我们先假设我们需要调试的程序叫做Hello.exe,每次出问题的现象是,调用某个函数Hello!Func()的时候,其参数arg为NULL。Arg这个变量是由某个全局变量g_arg传入而来。我们可以通过硬件的数据断点来查看每次将g_arg赋值为NULL的情况(当然了,赋值为NULL并不代表是错误,只有传入Hello!Func的时候为NULL才是错误)。程序一般要跑10000次才可能发现问题。使用下面的命令行可以做到反复收集Func1(Func2、Func3因为类似,这里就不列出了)执行时候的g_arg的值并放入Log文件中,并且如果发现调用Hello!Func的时候arg参数为NULL,则停止程序:
for /L %i in (1, 1, 10000) DO CDB.exe -c "bu Hello!Func /".echo Inside Hello!F .if (poi(arg)!=0) { g } /"; ba w4 Hello!g_arg /&.if (poi(Hello!g_arg)==0) { .echo g_arg changes to NULL; }/&; g" -G -logo debug.log Hello.exe
我们来简单分析一下:
一开头的For语句用于执行CDB命令10000次,也就是调试Hello.exe一万次
-c命令指定让CDB在程序开始的时候执行下面的命令
bu Hello!Func &.echo Inside Hello!F .if (poi(arg)!=0) { g }意思是每次Hello!Func被执行的时候,打印Inside Hello!Func,之后打印所有局部变量和参数(包括arg),如果发现arg!=NULL,则继续。注意上面命令中的/&是转义符,代表真正的引号,避免冲突。
ba w4 Hello!g_arg &.if (poi(Hello!g_arg)==0) { .echo g_arg changes to NULL; }&意思是每次如果g_arg被修改成NULL,打印出Callstack
g命令表示让程序开始执行
-G:表示让CDB忽略程序结束的时候的Breakpoint,避免CDB在运行结束的时候停下,保证CDB可以持续执行不需要人工干预
-logo debug.log:表示让CDB把每次输出的结果放入Debug.log中,并且每次都新建立文件,也就是说,会把上一次覆盖。这正好是我们需要的,因为我们设置了一旦程序错误则停止,那么这一次的Debug.log才是需要保留的
除了用-c指定初始的命令之外,也可以使用-cf来指定一个文件包含任意条CDB命令,如果CDB命令较多,可以采用这种方法。
本文说道的方法是比较有效的,我自己曾经使用过这种方法解决过不少比较棘手的问题。如果碰到了此种需要运行10000次才能重现问题的Bug,不妨试一下本文的方法。
P.S. 看到大家的评论,觉得有些东西需要稍微澄清一下:本文只是提供一种解决问题的思路,主要是在问题较为复杂,并且程序规模较大(&1百万),已有的Log信息并不够用的情况下对于C++程序(没错,CLR是使用C++编写的)采用。对于测试用例而言,输入是固定的,但是输出偶尔错误(举个简单例子,输入是1+1,但是输出99.99%是2,但是0.01%是3),像那种输入1+1输出总是3的情况不在本文讨论范围之内,毕竟单步就可以解决问题了。换句话说,本文的方法显然只是在某些特定情况下是比较合理的方法,并不代表应该应用在所有情况下。如果本文的方法能够能给大家提供一种解决问题的思路或者一些启示,那么本文的目的也就达到了。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:506612次
积分:6366
积分:6366
排名:第1316名
原创:118篇
转载:11篇
评论:456条
(1)(1)(3)(2)(2)(2)(4)(1)(2)(3)(7)(4)(3)(2)(2)(3)(1)(1)(10)(9)(1)(1)(7)(11)(23)(7)(10)(5)(3)
() () () () () () () () () () () () () () () () () () ()推荐您安装:,看视频拦截45秒广告,看网页拦截骚扰弹窗。
您的位置: -&
-& 搜索结果页
您要找的是不是:
资源统计:无插件软件:92974个 无病毒软件:93270个 昨日已处理112个带插件、病毒的软件
本站总软件:93270个 软件总下载次数:22.393亿次
软件教程文章:80443篇 总浏览次数:2.568亿次SegmentFault 域名备案迁移通知 &Close
赶快加入吧
收藏,2.7k 浏览
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
、、、objectivec
18:02:38.259 Sections[2962:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'must pass a class of kind UITableViewCell'
*** First throw call stack:
CoreFoundation
0x exceptionPreprocess + 180
libobjc.A.dylib
0x014ba8b6 objc_exception_throw + 44
CoreFoundation
0x017373bb +[NSException raise:format:] + 139
0x00314e08 -[UITableView registerClass:forCellReuseIdentifier:] + 247
0x000030eb -[BIDViewController searchDisplayController:didLoadSearchResultsTableView:] + 171
0x005cc0b4 -[UISearchDisplayController searchResultsTableView] + 446
0x005cd5f4 -[UISearchDisplayController _containerView] + 1031
0x005c7563 -[UISearchDisplayController setActive:animated:] + 9462
0x005cad4f -[UISearchDisplayController searchBarTextDidBeginEditing:] + 298
0x004f52c9 -[UISearchBar(UISearchBarStatic) _searchFieldBeginEditing] + 113
libobjc.A.dylib
0x014cc81f -[NSObject performSelector:withObject:] + 70
0x0022ec8c -[UIApplication sendAction:to:from:forEvent:] + 108
0x0022ec18 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 61
0x -[UIControl sendAction:to:forEvent:] + 66
0x00326a9c -[UIControl _sendActionsForEvents:withEvent:] + 577
0x0091254e -[UITextField willAttachFieldEditor:] + 685
0x -[UIFieldEditor becomeFieldEditorForView:] + 927
0x -[UITextField _becomeFirstResponder] + 160
0x004f841a -[UISearchBarTextField _becomeFirstResponder] + 98
0x -[UIResponder becomeFirstResponder] + 400
0x00289d0b -[UIView(Hierarchy) becomeFirstResponder] + 114
0x -[UITextField becomeFirstResponder] + 51
0x005ae651 -[UITextInteractionAssistant(UITextInteractionAssistant_Internal) setFirstResponderIfNecessary] + 135
0x005b0ba2 -[UITextInteractionAssistant(UITextInteractionAssistant_Internal) oneFingerTap:] + 2640
0x005a4f8c _UIGestureRecognizerSendActions + 230
0x005a3c00 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 383
0x005a566d -[UIGestureRecognizer _delayedUpdateGesture] + 60
0x005a8bcd ___UIGestureRecognizerUpdate_block_invoke + 57
0x005a8b4e _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks + 317
0x _UIGestureRecognizerUpdate + 199
0x0026bd4a -[UIWindow _sendGesturesForEvent:] + 1291
0x0026cc6a -[UIWindow sendEvent:] + 1030
0x00240a36 -[UIApplication sendEvent:] + 242
0x0022ad9f _UIApplicationHandleEventQueue + 11421
CoreFoundation
0x016c08af __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 15
CoreFoundation
0x016c023b __CFRunLoopDoSources0 + 235
CoreFoundation
0x016dd30e __CFRunLoopRun + 910
CoreFoundation
0x016dcb33 CFRunLoopRunSpecific + 467
CoreFoundation
0x016dc94b CFRunLoopRunInMode + 123
GraphicsServices
0x036d89d7 GSEventRunModal + 192
GraphicsServices
0x036d87fe GSEventRun + 104
0x0022d94b UIApplicationMain + 1225
0x0000399d main + 141
libdyld.dylib
0x01d75701 start + 1
libc++abi.dylib: terminating with uncaught exception of type NSException
如上所示,错误提示,使用的是XCODE5 无法根据错误提示找到出错行,网上有的方法试过不可以。希望知道的同学告知下。谢谢!
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
在 Xcode 的 Breakpoint Navigator 里面添加一个异常断点(Add Exception Breakpoint),然后将断点条件设置成 Exception: Object-C,这样就能在异常抛出之前断下来,你就可以查看当时的调用栈。
注意最好在快要执行到出问题代码的时候才打开这个断点,否则会不断被各种异常干扰。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
你的工程是叫Sections吧?
这就是你的抛异常的地方:4 Sections 0x000030eb -[BIDViewController searchDisplayController:didLoadSearchResultsTableView:] + 171
BIDViewController类的searchDisplayController方法的代码偏移量171处(差不多就是这个方法的170字符的地方,差不多是第2、3行吧,切记,171不是行号什么的哦)。
关于ios异常分析,在一开始确实是非常头疼的问题,因为它没有直接告诉开发者抛异常的位置,甚至有时候还没有异常堆栈,而即使有异常堆栈也不容易看懂是什么意思,特别还有那个代码偏移量的数字,极具误导性。通常调试的方法比较多,讲完得一晚上。Huan Du回答的异常断点是一种,当然还有日志断言打印查看法、符号断点设置、LLDB调试工具。而我个人还是比较喜欢你题目中发的堆栈分析方法。基本上根据类名、方法名和代码偏移量就能判断出问题了。
关于堆栈报告,简单介绍它里面的内容是什么含义:
4 Sections 0x000030eb -[BIDViewController searchDisplayController:didLoadSearchResultsTableView:] + 171
一共包括了5部分:分别是4/Sections/0x000030eb/-[BIDVi...ew:]/171第1部分:堆栈输出序列号,序号越大表示代码越早被调用;
第2部分:调用的方法所属框架(库/工程),例如Sections就是楼主您的工程;
第3部分:调用方法的内存地址,即0x000030eb
第4部分:调用方法名,这个非常重要,即-[BIDViewController searchDisplayController:didLoadSearchResultsTableView:]
第5部分:调用方法编译之后的代码偏移量,这里再次强调不是行号,只是编译后的代码偏移量,但是基本上和字符数差不多,你可以通过一些文本工具,通过统计你的方法的字符偏移量大致的估计出错的行,一般误差在3~5行内。
这里推荐一个小技巧,防止xcode不打印堆栈日志:
在main.m中的main方法上添加@try@catch,就像下面这样:
#import &UIKit/UIKit.h&
#import "AppDelegate.h"
int main(int argc, char* argv[])
@autoreleasepool
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
@catch (NSException* exception)
Log(@"Exception=%@\nStack Trace:%@", exception, [exception callStackSymbols]);
不过切记发布app前删除try catch包裹哦,亲~~~
同步到新浪微博
不要错过该问题的后续解决方案
如果你没找到答案,记得登录关注哦,大家会尽全力帮你解决的 ^___^
最专业的开发者社区
最前沿的技术问答,最纯粹的技术切磋。让你不知不觉中开拓眼界,提高技能,认识更多朋友。
分享到微博?
关闭理由:
删除理由:
忽略理由:
与已有问题重复
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
内容质量差,或不适合在本网站出现
无意义讨论型问题
其他原因(请补充说明)
举报理由:
带有人身攻击、辱骂、仇恨等违反条款的内容
与已有问题重复
内容质量差,或不适合在本网站出现
答非所问,不符合答题要求
其他原因(请补充说明)
补充说明:3564人阅读
XCode4设置不太一样: 在Edit--&Scheme里面 找到Arguments
把下面3个值设置成YES
NSAutoreleaseFreedObjectCheckEnabled
NSZombieEnabled
NSDebugEnabled
这种方法非常好用,建议在建立一个工程的时候,加入此设置。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:718994次
积分:10124
积分:10124
排名:第559名
原创:240篇
转载:69篇
评论:171条
我们是一群热爱移动开发的人,如果你也是,就加入我们。 开发技术群:我的联系方式: 电话:
(3)(1)(2)(1)(1)(1)(1)(1)(1)(3)(3)(1)(3)(1)(4)(4)(3)(3)(9)(12)(17)(6)(11)(10)(34)(50)(64)(30)(22)(2)(3)(1)(2)(3)

我要回帖

更多关于 声卡怎么调试 的文章

 

随机推荐