-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Smalidea watchers "Internal error" #691
Comments
Same problem, but on Android Studios. Stack trace: |
same problem as #651 ? |
Same problem trying to see what p0 contains. Sometimes it's NPE in log and debugger fails, sometimes it's just internal error and debugger fails =( |
Same problem using IntelliJ IDEA 2019.2 |
Same problem using Android Studios 3.5.2 |
Android Studio 3.5.3 with smalidea-0.05: Variables Stack trace:
|
n3tman, can you share the full method that was causing the NPE you mentioned? It looks like the class is from androidx.appcompat.app, so it shouldn't be sensitive. |
Sure, but it's not the original code. I was analysing some changes made by other people. Method .method public static l(Ljava/lang/String;)Ljava/lang/String;
.locals 11
const-string v1, ""
:try_start_0
new-instance v0, Ljava/lang/String;
const/4 v2, 0x0
invoke-static {p0, v2}, Landroid/util/Base64;->decode(Ljava/lang/String;I)[B
move-result-object v2
const-string v3, "UTF-8"
invoke-direct {v0, v2, v3}, Ljava/lang/String;-><init>([BLjava/lang/String;)V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
:goto_0
return-object v0
:catch_0
move-exception v0
move-object v0, v1
goto :goto_0
.end method Which is called by another custom method .method public loadApplication()V
.locals 2
invoke-virtual {p0}, Landroidx/appcompat/app/e;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
const-string v1, "26U="
invoke-static/range {v1 .. v1}, Landroidx/appcompat/app/e;->l(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/ClassLoader;->getResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;
move-result-object v0
if-nez v0, :cond_0
const/4 v0, 0x0
invoke-static {v0}, Ljava/lang/System;->exit(I)V
:cond_0
return-void
.end method And this method is called inside .method protected onCreate(Landroid/os/Bundle;)V
.locals 1
invoke-virtual {p0}, Landroidx/appcompat/app/e;->getDelegate()Landroidx/appcompat/app/g;
move-result-object v0
invoke-virtual {v0}, Landroidx/appcompat/app/g;->e()V
invoke-virtual {v0, p1}, Landroidx/appcompat/app/g;->a(Landroid/os/Bundle;)V
invoke-virtual {p0}, Landroidx/appcompat/app/e;->loadApplication()V
invoke-super {p0, p1}, Landroidx/fragment/app/d;->onCreate(Landroid/os/Bundle;)V
return-void
.end method |
Thanks, I'll take a look and see if I can reproduce the NPE. I couldn't find anything just by looking at the code, unfortunately. |
I can't seem to reproduce the NPE unfortunately. I'm able to make a MethodAnalyzer for all 3 of those methods with no problem. |
I don't remember exactly but I recall there's (maybe) a change in JDWP implementation on Android somewhere between Nouget and Pie, that preventing JDWP client from retrieving local variable information. Edit: |
Same issue, any resolutions ? |
It's been explained on the blog post linked above, from the JEB Decompiler website. Use Android R or anything less or equal than Android O. |
Yeah, I as well noticed that you can restart Android Studio to make some Internal Errors go away. |
Hello,
I am using IntelliJ IDEA 2019.1 and the smalidea plugin 0.05 to debug an application. It seems like the step debugging is working fine, but no matter which functions I am in, the v0,v1 and p0,p1 etc locals and parameters are showing as "Internal error" when I add them to watchers.
I am using java8_151 jdk.
Any ideas?
The text was updated successfully, but these errors were encountered: