Determine If a Java Application Is in Debug Mode in Eclipse

Determine if a java application is in debug mode in Eclipse

You could modify the Debug Configuration. For example add a special VM argument only in the Debug Configuration. You can use System.getProperties() to read the supplied arguments.

Even better, modify the configurations (Run and Debug) to load a different logging configuration file. It isn't good if you need to write code to determine the logging level. This should only be a matter of configuration.

How can i know an application running in debug or run mode in eclipse

While the application is running, open the Debug view in Eclipse. If all that you see in the tree is a path to your Java distribution under the project name then you are in run mode. If you are in debug mode then you will see the above information plus all the threads that are currently running in your application.

Eclipse: How to tell if I am Running or Debugging a non-server application?

You can simply switch to the Debug perpective. The running application will be available. Then look in the Debug view : if you can expand using + your application and see running Threads, you are in debug mode. Otherwise, application is just 'running'.

How to Find out if Eclipse is running in debug mode

Switch to the "Debug" perspective and look at the Debug pane. If it looks like this, you're not debugging:

Sample Image

And if it looks like this, you are debugging:

Sample Image

Java Programmatically Detect Eclipse/debugger

In the past I've used a bit of a hack to see if my software was running in Eclipse by checking if I could find a .project file.

public static boolean isRunningInEclipse(int folderDepth) {
File projectRoot = new File(Boot.class.getProtectionDomain().getCodeSource().getLocation().getFile());
for (int i = 0; i < folderDepth; i++) {
projectRoot = projectRoot.getParentFile();
if (projectRoot == null || !projectRoot.isDirectory()) {
return false;
}
}
return new File(projectRoot, ".project").isFile();
}

If your main class in located in the bin folder you call the method with folderDepth = 1, if your main class is located in target/classes/ you call it with folderDepth = 2.

If you specifically want to know if it is running in the debugger I suggest you check this answer

How a java program knows if it has been started by eclipse's `debug` not `run`?

Is really eclipse who does the magic, by launching the jvm in debug mode which opens a tcp port to attach a debugger so, if you wish to check if you're in debug mode you'd probably want to check if that port is taking connections, at least is one way I can think of.

Run or Debug when using Eclipse?

Debug will execute a lot slower than a regular Run. Eclipse will only recognize breakpoints when you are running in Debug. You should use Debug when you are testing your game.

You can also look at variables in real time while you are debugging. You can pause execution and you can look at all running threads, it is really quite useful when it is used properly.

Here is a pretty good tutorial on debugging if you are interested:

  • http://www.vogella.com/tutorials/EclipseDebugging/article.html

Java with Eclipse: Debug mode enabled?

It seems like the best way is to use arguments and pass them by using a Debug-Configuration and a Run-Configuration with the right values.

In Eclipse you have the possibility to add a Configuration to the Run list and the Debug list.

This can be done by going to the common tab inside the configurations and check the Debug and/or Run checkbox inside the "Display in favorite menu" section.

You can also edit the favorite list (add/remove/move entries) by clicking "Organize Favorites".

Note, that it does not prevent you from runing the Debug-Configuration or debuging the Run-Configuration.



Related Topics



Leave a reply



Submit