Java-Debug with JCreator LE
-
- Venus Former Team Member
- Posts: 7561
- Joined: Thu Oct 27, 2005 1:43 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Boston, MA
Java-Debug with JCreator LE
Μπορεί κανείς να με βοηθήσει να κάνω debug ένα πρόγραμμα στο συγκεκριμένο περιβάλλον???
- Zifnab
- Venus Former Team Member
- Posts: 7581
- Joined: Tue Nov 15, 2005 2:42 am
- Academic status: MSc
- Gender: ♂
- Location: Connecticut
- Contact:
Όπως γράφει και η javaworld στην http://www.javaworld.com/javaworld/jw-1 ... va101.html
What is JCreator?
Xinox Software's JCreator IDE lets you manage a Java project's files. It also provides a sophisticated editor for entering source code; a seamless interface with tools for compiling source code, and running and debugging executable code; and an extensive assortment of customization features.
JCreator 2.5, which was written in C++ and works exclusively on Windows platforms, is the latest version and comes in two editions (at the time of this writing): limited edition (LE) and professional (PRO). JCreator 2.5 LE is freeware; however, it lacks certain features like code templates and an interface to a debugger. If you want those and other features, you must register (that is, pay for) your copy of the JCreator 2.5 PRO shareware (try before you buy) edition. Apart from a few missing features, JCreator 2.5 LE is basically identical to JCreator 2.5 PRO.
Όπως καταλαβαίνεις το μόνο που σου μένει είναι η command line. Αφού δεν υπάρχει Debugger Interface χρησιμοποιείς το jdb.exe που βρίσκεται στο φάκελο bin μέσα στο jdk.
Αν δεν θέλεις να μπλεχτείς με τα Paths που εμπλέκονται στην jdb , απλά κάνεις επικόλληση το class file στο φάκελο bin και τρέχεις ως εξής jdb [class name] [args[0]] [args[1]] ... [args[n]]
Μόλις βγει το τοξάκι πληκτρολογείς run και πατάς [enter]. Αν θες να συνεχίσεις μετά απο κάποιο exception πληκτρολογείς cont, ενώ αν θέλεις να ορίσεις breakpoints, τότε πρίν πληκτρολογίσεις την εντολή run και [Enter] πληκτρολογείς stop at [classname]:12 (breakpoint στην 1η εντολή της 12ης σειράς). Το help εμφανίζεται αν πληκτρολογήσεις help, ενώ η έξοδος πραγματοποιείται όταν πληκτρ. exit.
Αν θες να φαίνονται οι τοπικές μεταβλητές όταν παίρνουν τιμές κάνεις debug από την command line του .java file που βρίσκεται επίσης στο bin φάκελο με την εξης εντολή javac -g [ονομα αρχείου].java
Ισοδύναμα επιλέγεις να κάνεις compilation από το JCreator έχοντας κάνει την εξης ρύθμιση: configure>options>jdktools>compiler>[default]>edit>parameters>include debug info.
Αν τρόμαξες λιγάκι
: ή σκας λεφτά και αγοράζεις JCreator PRO (και μέσω Limewire πίανει
) ή δοκιμάζεις το JBuilder που δείχνει να έχει ενσωματωμένη Debugger Interface (μηδενική συμβατότητα με sdk 1.4 που χρησιμοποιούμε) ή κάνεις ένα google για Java Debugger Interface ...
Αν δεν έχεις απελπιστεί καθόλου ρίξε μια ματιά και στο java debugger guide (jdb.exe) της Sun.
http://java.sun.com/j2se/1.5.0/docs/too ... s/jdb.html
καθώς και κάποιo πρόγραμμα της sun για debugger με user Interface (όπως φαίνεται...):
http://java.sun.com/products/jpda/index.jsp
Ελπίζω να βοήθησα έστω και λίγο,
Zifnab
What is JCreator?
Xinox Software's JCreator IDE lets you manage a Java project's files. It also provides a sophisticated editor for entering source code; a seamless interface with tools for compiling source code, and running and debugging executable code; and an extensive assortment of customization features.
JCreator 2.5, which was written in C++ and works exclusively on Windows platforms, is the latest version and comes in two editions (at the time of this writing): limited edition (LE) and professional (PRO). JCreator 2.5 LE is freeware; however, it lacks certain features like code templates and an interface to a debugger. If you want those and other features, you must register (that is, pay for) your copy of the JCreator 2.5 PRO shareware (try before you buy) edition. Apart from a few missing features, JCreator 2.5 LE is basically identical to JCreator 2.5 PRO.
Όπως καταλαβαίνεις το μόνο που σου μένει είναι η command line. Αφού δεν υπάρχει Debugger Interface χρησιμοποιείς το jdb.exe που βρίσκεται στο φάκελο bin μέσα στο jdk.
Αν δεν θέλεις να μπλεχτείς με τα Paths που εμπλέκονται στην jdb , απλά κάνεις επικόλληση το class file στο φάκελο bin και τρέχεις ως εξής jdb [class name] [args[0]] [args[1]] ... [args[n]]
Μόλις βγει το τοξάκι πληκτρολογείς run και πατάς [enter]. Αν θες να συνεχίσεις μετά απο κάποιο exception πληκτρολογείς cont, ενώ αν θέλεις να ορίσεις breakpoints, τότε πρίν πληκτρολογίσεις την εντολή run και [Enter] πληκτρολογείς stop at [classname]:12 (breakpoint στην 1η εντολή της 12ης σειράς). Το help εμφανίζεται αν πληκτρολογήσεις help, ενώ η έξοδος πραγματοποιείται όταν πληκτρ. exit.
Αν θες να φαίνονται οι τοπικές μεταβλητές όταν παίρνουν τιμές κάνεις debug από την command line του .java file που βρίσκεται επίσης στο bin φάκελο με την εξης εντολή javac -g [ονομα αρχείου].java
Ισοδύναμα επιλέγεις να κάνεις compilation από το JCreator έχοντας κάνει την εξης ρύθμιση: configure>options>jdktools>compiler>[default]>edit>parameters>include debug info.
Αν τρόμαξες λιγάκι



Αν δεν έχεις απελπιστεί καθόλου ρίξε μια ματιά και στο java debugger guide (jdb.exe) της Sun.
http://java.sun.com/j2se/1.5.0/docs/too ... s/jdb.html
καθώς και κάποιo πρόγραμμα της sun για debugger με user Interface (όπως φαίνεται...):
http://java.sun.com/products/jpda/index.jsp
Ελπίζω να βοήθησα έστω και λίγο,
Zifnab

- HdkiLLeR
- Venus Project Founder
- Posts: 4356
- Joined: Tue Jan 27, 2004 4:41 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: New York, NY
- Contact:
η κάνεις Debug με τον παλιό τρόπο...System.out.println() κάθε λίγο και λιγάκι τυπώνοντας μεταβλητές και τσεκάροντας ότι περνάει ο έλεγχος απο εκεί που πρέπει να περάσει.



-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------
"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------
"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
-
- Venus Former Team Member
- Posts: 7561
- Joined: Thu Oct 27, 2005 1:43 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Boston, MA
- Zifnab
- Venus Former Team Member
- Posts: 7581
- Joined: Tue Nov 15, 2005 2:42 am
- Academic status: MSc
- Gender: ♂
- Location: Connecticut
- Contact:
Η έκδοση μάλλον που ψάχνουμε είναι αυτή: JBuilder 2006 Foundation Free.
Εδώ μπορείς να την κατεβάσεις:
http://www.borland.com/products/downloa ... ilder.html
Και εδώ μερικές πληροφορίες από την Borland:
Ωστόσο η JBuilder 8 που προτείνεις ώντας παλαιότερη από την 2006 Foundation, σίγουρα δεν υποστηρίζει το sdk 1.5(ή ισοδύναμα το jdk 5.0 που έχει τώρα η Sun), αφού μόνο η επί πληρωμή έκδοση Developer, το έχει στα τεχνικά χαρακτηριστικά της. Δες και μόνος σου:
Αν σε μπεδρεύουν, όπως και εμένα τα ονόματα jdk, sdk, jre, j2se και j2ee, τότε μην ανησυχείς διότι ούτε η Sun τα χρησιμοποιεί με σταθερό τρόπο όπως διάβασα στο net
Εδώ μπορείς να την κατεβάσεις:
http://www.borland.com/products/downloa ... ilder.html
Και εδώ μερικές πληροφορίες από την Borland:
Μία διόρθωση για τα προηγούμενα: Το σχόλιο μου για μηδενική συμβατότητα πράγματι ισχύει για περασμένη όμως έκδοση (δύο εκδόσεις πριν την JBuilder 7).Foundation
Get going with Java development on the Microsoft® Windows,® Linux,® and Solaris,™ platforms. Foundation Edition provides you with the basics for speed coding and debugging with an integrated, powerful source code editor, graphical debugger, compiler, tutorials, and sample applications. Extend JBuilder using the included OpenTools API. JBuilder Foundation delivers a standards-based environment and integrated productivity features, including refactoring, code formatting, CodeInsight,™ ErrorInsight,™ Ant support, unit testing, Swing designer, and CVS version control. Best of all, it's free – even for commercial use.
Ωστόσο η JBuilder 8 που προτείνεις ώντας παλαιότερη από την 2006 Foundation, σίγουρα δεν υποστηρίζει το sdk 1.5(ή ισοδύναμα το jdk 5.0 που έχει τώρα η Sun), αφού μόνο η επί πληρωμή έκδοση Developer, το έχει στα τεχνικά χαρακτηριστικά της. Δες και μόνος σου:
In any case, ως φοιτητές, μας αρκεί με το παραπάνω το sdk 1.4, οπότε το JBuilder 2006 Foundation είναι Free και αποτελεί μια καλή λύση(εγώ θα το κατεβάσω τη δευτέρα). Ωσόσο φαίνεται ότι πρέπει να βρούμε παλιότερη λύση από την jdk 1.5 ώστε να δουλεύει το JBuilder Foundation....JBuilder Developer includes innovative tools to get you off to a quick start with JavaServer Faces (JSF) and the new language features of J2SE™ 5.0 (JDK 1.5). The customizable JBuilder IDE, with its robust editor, code audits, and distributed refactoring, helps speed coding and reduce errors. Maximize your productivity with visual designers for JSF and Struts; unit testing; advanced debugging (conditional breakpoints, breakpoint logging, evaluator, step out, and run to end of method); and support for peer-to-peer collaboration and team development. Use the integrated Borland Optimizeit Profiler to deliver fast, scalable, reliable applications. Developer Edition also includes all the capabilities of the Foundation Edition.
Αν σε μπεδρεύουν, όπως και εμένα τα ονόματα jdk, sdk, jre, j2se και j2ee, τότε μην ανησυχείς διότι ούτε η Sun τα χρησιμοποιεί με σταθερό τρόπο όπως διάβασα στο net

-
- Venus Former Team Member
- Posts: 7561
- Joined: Thu Oct 27, 2005 1:43 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Boston, MA
- HdkiLLeR
- Venus Project Founder
- Posts: 4356
- Joined: Tue Jan 27, 2004 4:41 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: New York, NY
- Contact:
Υπάρχει και το assert αλλά για τώρα μιας και είσαι newbie ακόμη κάνε δουλειά με το System.out.println(). Επίσης μια καλή τεχνική είναι η εξής:
δηλώνεις μια global var boolean debug = true;
και όπου θέλεις να βάλεις System.out.println() το βάζεις μέσα σε κάποιο if. Πx if(debug) System.out.println(x); κλπ κλπ. Οπότε στο τέλος αφού το Prog σου είναι σωστό βάζεις το debug = false Και δεν εμφανίζεται κανένα μύνημα απο τα System.out.println() οπότε δεν χρειάζεται να τα απομακρύνεις κιόλας. Αυτό δεν ενδείκνειται βέβαια για σοβαρά probs απλά είναι τακτική που βοηθάει ειδικά στην αρχή.
δηλώνεις μια global var boolean debug = true;
και όπου θέλεις να βάλεις System.out.println() το βάζεις μέσα σε κάποιο if. Πx if(debug) System.out.println(x); κλπ κλπ. Οπότε στο τέλος αφού το Prog σου είναι σωστό βάζεις το debug = false Και δεν εμφανίζεται κανένα μύνημα απο τα System.out.println() οπότε δεν χρειάζεται να τα απομακρύνεις κιόλας. Αυτό δεν ενδείκνειται βέβαια για σοβαρά probs απλά είναι τακτική που βοηθάει ειδικά στην αρχή.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------
"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------
"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie