在不运行应用程序的情况下连接Android调试器

8

我接手了一些代码,遇到了一个问题:只有在应用程序未运行时导入文件时才会出现问题。我想知道是否有一种方法可以在应用程序运行之前连接/监视应用程序并能够逐步执行代码。

只有在导入启动应用程序时才会出现问题。我发现我可以使用DDMS来调试logcat和堆栈,但我需要能够使用调试器逐步执行代码...至少我认为是这样。

enter image description here


1
喜欢逐步执行onCreate()方法吗? - Justin Jasmann
1
你绝对可以在onCreate()方法中设置断点。 - Justin Jasmann
1
和这两个问题一样,等待文件是什么意思?我猜它是一个不同的后台服务,实际上启动了你的应用程序? - Justin Jasmann
我有一个zip文件,用户下载后点击它会得到一个选项,可以用我的应用程序打开它。我看到的这个错误只发生在通过应用程序菜单中的“打开文件”打开应用程序时。我将在上面附上一张图片。 - Bryan Williams
1
我很确定你可以在Eclipse中启动调试器,然后选择用你的应用程序(在你的设备或模拟器上)解压文件,然后无论何时你的主活动启动,它都会在onCreate()或任何你想要的地方触发断点。 - Justin Jasmann
显示剩余6条评论
4个回答

17

在最近几个API版本中(至少21+),您可以找到:

Settings -> Developer options -> Wait for debugger.

它能帮助你在调试应用程序启动期间停止调试器


2
此外,在点击“等待调试器”之前,您需要点击“选择调试应用程序”(在“等待调试器”上方的首选项)来选择哪个应用程序应该等待调试器。 - Bartek Lipinski
2
它完美地运行!(您必须从手机开发者选项中进行此操作) - Andy

6

一旦应用程序运行,您可以转到DDMS进程并单击bug图标。如果您需要在运行早期代码之前立即执行此操作,您可以在该代码之前放置一个sleep,以便有机会开始调试您的进程。但是,如果这听起来太麻烦,记录可能是更好的选择。


3
其实,我找到了一种更好的做法。请参阅《等待调试器》(Wait for Debugger)页面,网址为http://developer.android.com/tools/debugging/debugging-devtools.html - Edwin Evans

0

Shift+F9 应该在调试模式下启动,这将在运行之前附加调试器。或者,运行 -> 调试 '[应用程序名称]'


-2

对于Android Studio,您可以通过单击此图标并选择正确的进程来附加调试器。

attach debugger to android


1
没有运行应用程序,因此无法附加到“without running app”进程,因此这是不正确的。 - Bartek Lipinski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接