Click here to Skip to main content
15,881,413 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
hi
there is a complex program compiled in java. I'm tasked with finding a problem in this app. I monitored this app and I know where the problem is.
i loaded the entire app's folder in IntelliJ. it decompiles the app just fine but only the "Method breakpoints" are hit; I guess the debugger cant sync the bytecode with source.
i need to stop at at certain point, I cant step till function's end because there are some loops in it that will take forever to step.
any hints how can i do this?
if there are any other IDEs that can handle this please let me know.

update:
I used "Procyon" to decompile a jar and now i can debug just like i intended.
but the problem is I don't know how to pass a directory to procyon so it decompiles all jars in folder and its subfolders.
any tips on that?

What I have tried:

googling and lots of it
there are some tutorials for eclipse but they are so old and what ever i tried i just hit errors.

tried to attack the decompiled sources to jar files, but still i cant stop at normal breakpoint, the debugger just ignores them.
Posted
Updated 21-Oct-22 5:10am
v2

Quote:
how to pass a directory to procyon so it decompiles all jars in folder and its subfolders.
You are more likely to get the answer from the person who wrote it: Java Decompiler · mstrobel/procyon Wiki · GitHub[^].
 
Share this answer
 
Comments
reverser69 21-Oct-22 12:51pm    
im afraid i cant find what i want.'but via searching, i found a command that DOES fullfil batch opertaion but mixes all files:
%JAVA_HOME%\bin\java -jar c:\procyon\procyon-decompiler-0.5.30.jar -o . *.jar


i want to output every jar to a folder named after that jar files name.
any tips on how to modify the above command?
for anyone who encounters my problem:

i couldn't find Procyon command to resolve this issue so created a script to handle it. I know so little about batch script commands and I somehow put together this script with so many trial an errors; it sure can be done in a more professional way.
I tested the output and sources are synced with bytecode line number.

BAT
@echo off

Set "PROCYION=C:\*****\procyon-decompiler-0.6.0.jar"

for /r %%i in (*.jar) do (
 if not "%%~ni" == "dbg" (
 cd "%%~pi"
  md "%%~ni" && start /WAIT java -jar "%PROCYION%" --suppress-banner -sl "%%~i" -o "%%~ni"
  cd .
 )
)
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900