In Eclipse, Is there a way to disable a breakpoint temporarily? - eclipse

I have a number of breakpoints scattered throughout my code. I don't want to lose them, I just want to temporarily turn them all off so that the breakpoint I just added is the only one that is triggered. In other words, to have "active" and "inactive" breakpoints. Is this possible in Eclipse? I'm running Neon, 4.6.3.

In the run menu, about halfway down - there's "Skip All Break Points" - or you can do CTRL+ALT+B
Just don't forget to toggle it back else you'll be wondering why none of your breakpoints are no longer working - been there, done that.
Note and update as you wanted to only disable specific breakpoints, but still have some or a new one enabled. Too accomplish this:
Window->Show View->Debug Tree Node Select "Breakpoints" - this opens a view with all of your breakpoints. Select all of them, select disable - now select just the one (or two) that you want!

If you mean Java breakpoints, yes, you can just right-click on them either in the Java Editor or in the Breakpoints View and turn them on and off at will. Support in other languages is dependent on the language.
http://help.eclipse.org/neon/topic/org.eclipse.jdt.doc.user/reference/breakpoints/ref-enabled_option.htm?cp=1_4_0_1

Related

Breakpoints grouping and naming in eclipse and Visual Studio

I work with large project having different modules, subprojects. When I am working with one module I need to create set of debugpoints/breakpoints to debug that module.
When I have to work with other one, to debug it, I have to create another set of breakpoints and disable the ones created to debug the earlier module.
When I want to debug (dont conclude that I write buggy code...its just that....it just happens :p) third module, I have to create thrid set of debug points, disable the earlier two sets corresponding to earlier two modules.
Same with debugging fourth module.
Same with debugging fifth module.
Now I want to come back to debugging first module. I have breakpoints related to all modules in my breakpoint window. Say 5 breakpoints corresponding to each module. Total 5*5 = 25. Now I have to go through reading each breakpoint checking which belongs to the first one, enabling them and disabling others.
Am I missing something. Is some simpler/standard way to ease this already there in eclipse.
I feel there should be say "Save set of breakpoints" option which note all the breakpoints currently in the breakpoint window as belonging to same set and will then ask us to give name to that set, say in my case "Module 1".
Then another option "Create new breakpoint set", which will clear up breakpoint window without deleting already created named breakpoint sets
Then, ofcourse the option to "Load breakpoint set" which will simply show up the set we saved as, say in dropdownlist. We select the named breakpoint set and it will end up loading those set of breakpoints.
Q. Am I overthinking? Is similar stuff already there? Also willing to know if similar stuff is there in Visual Studio too
Use 'Breakpoint Working Sets' for this.
In the Breakpoints view (in the Debug perspective) click the small triangle at the top right of the view and select the 'Working Sets...' menu item. This will let you manage the breakpoint working sets.
More details in the Eclipse help

eclipse remove unselected breakpoints

Is there a way to remove only the unselected breakpoints in eclipse?
The reason is so that i could easily remove those breakpoints that i'm not currently involved in.
I don't want to break my flow of concentration with choosing things that aren't near the things i'm concentrating on.
I could just then disable all and select only those that i'm interested in debugging while not forgetting which debugs mattered in this most current problem.
OR...
Is there an invert selection of breakpoints?
There is a 'Breakpoint'-View you could start with ALT+SHIFT+Q,B (or using Window->Show View->Breakpoints).
You can select, activate and even delete All/selected breakpoints.
If you are working at a specific topic, try using MyIyn, as you can even focus your breakpoints on the task you are working at.

eclipse: categorizing breakpoints in debugger

In a multimillion line project, sometimes when searching for a bug, you can end up creating several dozen breakpoints. Often these breakpoints are searching for slightly different things.
Eclipse displays the class, line number, and method in which the breakpoint lies, but that's not always enough for me to keep track of everything. Sometimes I will know that there are a couple of specific things I want to look at, and I'll have a set of breakpoints digging through each of them. It would be really useful to be able to create breakpoint categories to help me keep track of where everything I want to look at happens.
I'm wondering if there is a way to do this, either in stock eclipse, or with a plugin.
Found it.
In the breakpoints view, open the view menu and select Working Sets.... This will allow you to create categories. Once you create a new working set and select the breakpoints to include in it, you can open the view menu again and select Group By > Breakpoint Working Sets. This will group your breakpoints into categories.

Eclipse doesn't stop at breakpoints

Eclipse 3.5.2 is not stopping in breakpoints. It's as if the debugger is using an older version of the source file.
Tried the usual refresh, clean all projects, build all, with no change.
Already in debug mode and the break point is checked.
*ok ended up deleting the whole project and checking it out again. but still curious what the issue was.
Perhaps you have pushed the Skip all Breakpoints button in the Breakpoints view.
Thanks guys, this really saved my day too.
I antecedently pressed on skip break points, if you did the same this will result on break point appearing with a backslash icon on them.
To bring it back to normal:
Switch to Debug perspective.
press on the breakpoints view tap -->> upper right hand corner of the screen, you also can go there by Window->show view-> breakpoints.
5th icon from the left you will see break point with backslash. press on that one.
To confirm, try putting break point on any line, and it should appear normally.
Press Ctrl + Alt + B
OR go through below steps
Clearing all Breakpoints fixed the issue
(within debugger perspective: Window -> Remove All Breakpoints).
Rebuilding the project did not work for me.
Sometimes you do start the debug mode but the debugger doesn't actually get attached/gets detached. I've also had this issue a few times when my laptop was reacting really slowly.
A reboot always solved it for me.
Also try doing a clean all (works miracles in Eclipse).
Please un check this from the Eclipse Menu.
Run->Skip all breakpoints.
I think this will be enabled permanently once You select the Remove all Break points option in the Debug/Breakpoints window.
Performing a "Clean All" worked for me.
Click on "Project" tab --> "Clean" menu-item.
In the "Clean" dialogue-box select "Clean all projects" radio-button. Leave the remaining values as default. Click "OK" button.
BINGO!!!The remote-debugging started working for me as beautiful as before.
It has also happened to me, in my case it was due to the GDB launcher, which I needed to turn to "Legacy Create Process Launcher". To do so,
either change the default launchers to the "Legacy Create Process Launcher", in Windows>Preferences>Run/Debug>Launching>Default Launchers.
or choose this launcher in the debug configuration of your application (Run>Debug configurations>choose your debug configuration). Under the "main" tab at the bottom, click on "Select other...", check the box "Use configuration specific settings" and choose "Legacy Create Process Launcher".
I had a conditional break point wrongly put on the method entry point. Removed that breakpoint and it worked.
Note: Tried Skip all Breakpoints, Clean all projects, Refresh, close Eclipse with no luck before nailing it.
In my case, somehow the breakpoints got automatically disabled because of this switch turned on, skip breakpoints.
Breakpoints have seemed to work and not-work on the versions of Eclipse I've used the last couple years. Currently I'm using Juno and just experienced breakpoints-not-working again. The solutions above, although good ones, didn't work in my case.
Here's what worked in my case:
deleted the project
check it back out from svn
import it into Eclipse again
run "mvn eclipse:eclipse"
Since the project is also a Groovy/Http-bulder/junit-test project, I had to:
convert the project from Java to Groovy
add /src/test/groovy to the Java Build Path (Source folders on build path)
include "**/*.groovy" on the Java Build Path for /src/test/groovy
I had all breakpoints enabled and configured as I should. But whenever I clicked "debug" it would only step through the program (press f5/f6) Turns out there was a rogue setting
Right Click project > debug configurations > "Debugger" tab > uncheck "Stop on startup at:" box
One reason for this situation can be, that you have pressed 'skip all breakpoints', when play- and another pictures are smaller than those normally are (because of higher resolution screen). Another thing can be, that break points are stopped only under VM threads, not under normal threads!
Go to (eclipse-workspace)\.metadata\.plugins\org.eclipse.wst.server.core and delete all tmp folders.
Clean and Restart server.
In my case I had to enable then disable an option in the Preferences.
I don't prefer the debug view to keep jumping when a breakpoint is hit so I disabled this option, but caused the issue in question.
The solution was to enable it again, start a debug session, the breakpoint is hit and shown in the UI, then disable again the option.
Looks like a bug in Eclipse 4.17
UPDATE
There is also another simpler way that will make Eclipse show the debugging highlight at the breakpoint or rather refresh the debugging UI to work as it should. After the breakpoint is reached, Eclipse will ask you to switch to debugging mode if you are not already in, click switch button, then activate the debug tab/view, you will notice that the stepping buttons are activated and the breakpoint line is highlighted.
First remove all 'toggle breakpoints' from the class file.
Then Eclipse requires a restart.
Then make sure 'Skip All breakpoints' is NOT enabled. If it is, make it disabled.
Then, add toggle breakpoint to the lines in your file and run on Debug mode.
A pop-up window must appear to confirm if you really want to Switch to debug mode. Say Yes and proceed.
I suddenly experienced the skipping of breakpoints as well in Eclipse Juno CDT. For me the issue was that I had set optimization levels up. Once I set it back to none it was working fine. To set optimization levels go to Project Properties -> C/C++ Build -> Settings -> Tool Settings pan depending on which compiler you are using go to -> Optimization and set Optimization Level to: None (-O0).
Hope this helps! Best
I had the same problem, and I found the real cause.
I had written some concurrent / multi-threads code, while I added some breakpoints inside the code running in a new thread. So, when JUnit tests ran over, and stopped soon, the code will not reach and stop at the breakpoints.
For this situation, we have to click and select "Keep JUnit running after a test run when debugging" check box at "Debug Configurations..."
switching workspace worked for me.
Go to File > Switch Workspace and choose different folder (workspace)
That's it and BINGO! Debugging started working for me as beautiful as before.
go breatpoint and click on 5th to eclipse->window>->show view->other->debug->breakpoint and click on 5th option (Skip All Breakpoints)
Make sure, that you are using the correct JRE version to debug your project. Especially if it's a third party project.
Also make sure, that there is no trigger point set for any breakpoint.
I had the same problem when I was using Eclipse Juno.. I installed Eclipse Indigo and it works fine. Try to reinstall eclipse.
A different solution worked for me. I also faced the same problem - debug points were not being updated, though they are shown correctly in the IDE editor and in Break Points tab.
My problem and solution are: While creating the project, the 'Default Output Folder' points to different location. At a later stage, I have mavenized the project, selecting "Project Right Click - Configure - Convert to Maven Project". So there are two sets of output folders exist in my project file system. Cleaning the project multiple times did not solve my problem. In the background it was pointing to different binary files. Finally, when I removed the Maven Feature and cleaned the project, this time everything worked fine. Env: Eclipse Juno and JRE is J2SDK 1.5.
I get all breakpoints skipped and marked as warnings when using -O2 in the compiler flags. Switched to -O0 -g in my makefile and breakpoints now work. Hope this helps.
If it doesn't stop even after unchecking SKIP ALL BREAKPOINTS, you can add this android.os.debug.waitfordebugger just before your breakpoint.
If you do this,your app will definitely wait for debugger at that point everytime,even if you are just running your app,which it will only find when your device is connected to eclipse.
After debugging you must remove this line for app to run properly or else android will just keep waiting for the debugger.
Try to restart eclipse, that works sometimes. I guess there is some kind of cache there.
In my case the debugged code in JBoss was older than the code in the Eclipse project. Rebuilding the .war solved the problem.
Facing same problem with Eclipse Luna.
Project clean didn't work.
Rebuild didn't work.
What makes it work is uninstall the app on the device before each debugging.
I use the Eclipse FileSync plugin for live remote debugging. Make sure you tick Allow different target folders & edit the Target folder file setting in the tree view.
Setting the Default target folder by the Browse... button without Allow different target folders will set all folders to the same target (I had both libs & classes set to the default for libs so my breakpoints did not update).
Since Eclipse 4.7/Oxygen released in June 2017, there is a new concept of "Triggers for breakpoints", which is displayed as a small "T" next to the breakpoint "blue bullet" icon.
All the other breakpoints that are initially suppressed by triggers
will be hit only after any of the trigger points has been hit. All the
triggers are disabled after a trigger point is hit and will be
re-enabled after the run.
In order to reset all the "trigger" flags, you need to do the following steps :
Switch to Debug perspective.
Right-click in the "Breakpoints" view
Select "Remove All Triggers".
Note : this step does not delete all your breakpoints, which occurs when selecting "Remove All" in the same contextual menu.
Note : the keyboard shortcut to enable the triggers is "Alt-R", which takes precedence on the shortcut to open the "Run" menu with its mnemonics, when the "Breakpoints" view is selected.

Debugger / Profiler for Eclipse?

Is there any tutorial for debugging applications/ running profiler in eclipse? Please let me know thanks..
This will depend on what language you are using. How you setup for debugging PHP vs C++ is a little different as they use different underlying tools (PHP - Xdebug vs C++ - gdb)
In a general sense, you will configure the app much like you would set it up to run within Eclipse. In some cases you will have to be sure to enable debugging information within the code base for the debuggers to provide detailed information. From there you're looking at setting breakpoints, stepping, and setting up watches which is very similar language-to-language within the Debug Perspective in Eclipse.
A common scenario is to set a breakpoint within the codebase by clicking on the left bar in the editor, and selecting toggle breakpoint. Then click the debug button in the IDE and it should open the Debug Perspective and either break at the beginning of main, or will run to the breakpoint you set in the code. Once the break is hit, you will be able to browse the stack frames within one of the views within the perspective and you will see tabs for watches, breakpoints, etc. The buttons near the top that look similar to play, and then arrows jumping over dots are the way you control the execution from your breakpoint. If you click "step over" the code will go line by line in the source file you're in until it must goto another file to follow the execution of your code. It will not go into a function call, rather call it execute it and return to the next line in the current source. If you want to go into the function call and continue debugging from there, you would use the "step into" button which is right next to "step over" in most cases. Resume restarts regular execution and will run your program normally until the end or another breakpoint is hit.
Start from there and get comfortable with it and then start playing with things like conditional breakpoints and watches. Conditional breaks are exactly like breakpoints but they only stop execution if the condition you specify is met. With C++ this is usually done by right clicking on the breakpoint and providing the conditional expression where appropriate in the menu. (I forget the exact verbage)
Watches allow you to watch memory and have the program break when memory is read, written to, or both so you can inspect your application.
Some debuggers in Eclipse may lack some of these features or offer more advanced features than those listed above, but these concepts should get you well on your way.
Good luck!