Bonjour,
Je suis nouveau sur le forum. Je reprends un projet entamé sur netbeans, je n'ai jamais travaillé avec cet IDE et j'ai du mal à utiliser le debugger. Peut on afficher l'interface graphique en mode debug?
Merci d'avance.
Sarto
Version imprimable
Bonjour,
Je suis nouveau sur le forum. Je reprends un projet entamé sur netbeans, je n'ai jamais travaillé avec cet IDE et j'ai du mal à utiliser le debugger. Peut on afficher l'interface graphique en mode debug?
Merci d'avance.
Sarto
Je précise ma question. Le logiciel que je développe effectue des calculs en astronomie, pour l'instant les calculs effectués sont faux et j'aimerai pouvoir rentrer dans la classe qui effectue le calcul en mode debug à partir de l'interface graphique.
Merci d'avance pour votre réponse.
Sarto
le debuggage consiste simplement à mettre des point d'arrêt dans ton code et de travailler à partir de là, donc il n'y a aucune contre indication à l'utilisation d'une interface graphique :)
Merci pour ta réponse, mais lorsque je lance le logiciel en mode debug et que je clique sur un des boutons de calcul netbeans ne s'arrête pas sur les breakpoints spécifiés, sais tu pourquoi?
Es tu sûr que le code où tu as positionné ton breakpoint est bien exécuté lors du click sur le bouton ?
Yes, j'ai vérifié grâce à println...
met un Breakpoint sur ta méthode d'action et fait du pas à pas à partir de là.
Ma méthode d'action est un JButtonActionPerformed. Quand je mets un breakpoint dedans et que je lance mon projet en mode debug , puis que j'appuie sur le bouton correspondant, le debugger ne s'arrête pas sur le breakpoint :?
En fait le problème c'est que ma fenêtre qui comporte le bouton "d'action" ne se lance pas en mode debug. Des exceptions sont générées: unable to create native thread.
t'as bien lancé ton projet en mode debug?
PS: pas besoin de recompiler quand tu ajoute des breakpoints ;)
Je me suis mal exprimé: ma méthode d'action est un JButtonActionPerformed, quand je mets un breakpoint dedans et que je lance mon projet en mode debug , puis que j'appuie sur le bouton correspondant, le debugger ne s'arrête pas sur le breakpoint
En fait le problème c'est que ma fenêtre qui comporte le bouton "d'action" ne se lance pas en mode debug. Des exceptions sont générées: unable to create native thread.
ha ben on avance, c'est quoi le message d'erreur complet , avec son stacktrace?
Voici le message d'erreur:
Je ne sais pas ce qu'est un stacktrace :?Citation:
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:640)
at javax.swing.TimerQueue$1.run(TimerQueue.java:79)
at java.security.AccessController.doPrivileged(Native Method)
at javax.swing.TimerQueue.start(TimerQueue.java:72)
at javax.swing.TimerQueue.<init>(TimerQueue.java:46)
at javax.swing.TimerQueue.sharedInstance(TimerQueue.java:56)
at javax.swing.Timer.timerQueue(Timer.java:341)
at javax.swing.Timer.isRunning(Timer.java:541)
at javax.swing.text.DefaultCaret.changeCaretPosition(DefaultCaret.java:1248)
at javax.swing.text.DefaultCaret.handleSetDot(DefaultCaret.java:1153)
at javax.swing.text.DefaultCaret.setDot(DefaultCaret.java:1134)
at javax.swing.text.DefaultCaret$Handler.insertUpdate(DefaultCaret.java:1702)
at javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:185)
at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:734)
at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:693)
at javax.swing.text.PlainDocument.insertString(PlainDocument.java:114)
at javax.swing.text.AbstractDocument.replace(AbstractDocument.java:655)
at javax.swing.text.JTextComponent.setText(JTextComponent.java:1693)
at my.navastro.NavastroUI.initComponents(NavastroUI.java:587)
at my.navastro.NavastroUI.<init>(NavastroUI.java:59)
at navastro.Main$1.run(Main.java:119)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Merci beaucoup de ton aide :)
le stacktrace, c'est ce que tu nous a donné.
Combien de threads crée ton application? Vérifie quelle est la limite de ton os en termes de nombre de threads / process.
Tu peux en avoir une idée en faisant tourner ce code:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 import java.util.concurrent.CountDownLatch; public class TestNativeOutOfMemoryError { public static void main(String[] args) { for (int i = 0;; i++) { System.out.println("i = " + i); new Thread(new HoldThread()).start(); } } } class HoldThread extends Thread { CountDownLatch cdl = new CountDownLatch(1); public HoldThread() { this.setDaemon(true); } public void run() { try { cdl.await(); } catch (InterruptedException e) { } } }