Hi  Paul,

The time came to start Java development . I chose your tool since I like emacs.
 I came across a few problems trying to make the debugger  JDEbug work.
 The documentation is very little so I tried  to see what other people on the mailing list
have to say.
I run  JDE on Linux and the list is mainly focused on Windows.

So let's go to the point.

1) I could not  start JDEbug even I looked what other people's .emacs  posted yesterday.
  I tracked down the problem  in the *JDEbug* buffer.

 java -classpath /archive/programming/JDE/jde-2.1.6beta17/java/classes:/usr/local/jdk1.2/lib/jpda.jar -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=2112,server=y,suspend=n jde.debugger.Main

Exception in thread "main" java.lang.NoClassDefFoundError: jde/debugger/Main

 it looks like you are setting the classpath for jdebug   to       <JDE-root>/java/classes which comes empty instead <JDE-root>/java/lib/jde.jar  as i think it should  be.
 

2) I took jde.jar and unjar-ed it in the classes directories . This time the debugger started but  not for long . The output is below.

starting  from   JDE->Debug App

*** Debugger Output for Process MenuFrame(1) ***

Launched VM Java Debug Interface (Reference Implementation) version 1.0
Java Debug Wire Protocol (Reference Implementation) version 1.0
JVM Debug Interface version 1.0
JVM version 1.2.2-RC2 (Classic VM, build 1.2.2-RC2-K, green threads, nojit)
Launching vm to run MenuFrame
Running MenuFrame.
vm started...
All threads suspended...
Application I/O closed
Input error; application I/O closed
Application I/O closed
MenuFrame process ended.
vm disconnected...

the *JDEbug buffer shows

JDE> -1 8 launch 4 -vmexec java -home /usr/local/jdk1.2/jre -classpath /archive/programming/jde-latest/java/lib/jde.jar MenuFrame
 

(jde-dbo-message
4 "Launched VM Java Debug Interface (Reference Implementation) version 1.0
Java Debug Wire Protocol (Reference Implementation) version 1.0
JVM Debug Interface version 1.0
JVM version 1.2.2-RC2 (Classic VM, build 1.2.2-RC2-K, green threads, nojit)")
 

(jde-dbo-command-result 8 1589)

JDE> 4 9 break absolute MenuFrame.java 41
 

(jde-dbo-event-set
4 "all"
(list "Thread" 1 "main" "waiting on monitor" "suspended by debugger")
(list 'jde-dbo-vm-start-event))
 

(jde-dbo-command-result 9 0)

JDE> 4 10 run
 

(jde-dbo-command-result 10)
 

(jde-dbo-message 4 "Application I/O closed")
 

(jde-dbo-error 4 "Input error; application I/O closed")
 

(jde-dbo-message 4 "Application I/O closed")
 

(jde-dbo-event-set 4 "none" nil
(list 'jde-dbo-vm-death-event))
 

(jde-dbo-event-set 4 "none" nil
(list 'jde-dbo-vm-disconnected-event))

JDE> -1 11 launch 5 -vmexec java -home /usr/local/jdk1.2/jre -classpath /archive/programming/jde-latest/java/lib/jde.jar MenuFrame
 

if I start JDEbug->Processes->Launch Process   does not exit but remain in a suspended state , the output is below

(jde-dbo-message
5 "Launched VM Java Debug Interface (Reference Implementation) version 1.0
Java Debug Wire Protocol (Reference Implementation) version 1.0
JVM Debug Interface version 1.0
JVM version 1.2.2-RC2 (Classic VM, build 1.2.2-RC2-K, green threads, nojit)")
 

(jde-dbo-command-result 11 1593)
 

(jde-dbo-event-set
5 "all"
(list "Thread" 1 "main" "waiting on monitor" "suspended by debugger")
(list 'jde-dbo-vm-start-event))
 

Any help in debugging this will be greatly appreciated.
 I will provide any info you think that you need. I attached the .emacs file to the message.
 
 

 3) What is JMaker ? I have seen some settings  about it . It does not appear in my emacs frame.
 

  Thanks,
  Bogdan
 

(global-set-key "\C-]" 'blink-matching-open)
(global-set-key "\M-g" 'goto-line) 

(put 'upcase-region 'disabled nil)


(setq load-path 
              (nconc '( 
                       "/archive/programming/JDE/jde-latest/lisp" ) 
                         load-path))

(require 'jde)
;;(setq jde-use-font-lock nil)

(load "jde")
   (setq jde-web-browser "/archive/HotJava/hotjava")
   (setq jde-doc-dir "$JDK_HOME/docs/")
   (jde-db-set-source-paths "/archive/java/Jagenda/") 

(server-start)

;; Custom key bindings

;; Sort out BS/DEL probs
(global-unset-key [backspace] )
(global-set-key [backspace] 'delete-backward-char)
(global-unset-key [delete] )
(global-set-key [delete] 'delete-char)

;; Meta-key is mapped to the Left Windows key for WM use.

;; Remove conflicting Meta keys -- DOESN'T WORK
;; Ideally swapping Meta and Alt would be better - but how?
;(global-unset-key [M-left] )
;(global-unset-key [M-right] )
;(global-unset-key [C-M-delete] )

;(global-unset-key [M-x] )

;; Add Alt keys
(global-set-key [A-x] 'execute-extended-command )
(global-set-key [C-A-backspace] 'backward-kill-sexp )
(global-set-key [A-left] 'backward-word )
(global-set-key [A-right] 'forward-word )

;; These really need to be in jde-mode only
(global-set-key [f5] 'jde-bug-step-over )
(global-set-key [f6] 'jde-bug-step-into )
(global-set-key [f7] 'jde-bug-step-out )
(global-set-key [f8] 'jde-bug-continue )

;; Add search paths for elisp packages
(setq load-path (cons "/archive/programming/JDE/jde-latest/lisp" load-path))
(setq load-path (cons "/archive/programming/JDE/eieio-0.14.1" load-path))
(setq load-path (cons "/usr/share/emacs/site-lisp" load-path))

;; Turn highlighting on
(global-font-lock-mode)

;; Highlighting for idl
;(require 'idl-font-lock)

;; Add wheel mouse support
;(require 'mwheel)

;; Add auto-modes
(setq auto-mode-alist
      (append '(("\\.java$"   . jde-mode)
                ("\\.todo$"   . todo-mode)
                ("\\.[hg]s$"  . haskell-mode)
                ("\\.hi$"     . haskell-mode)
                ("\\.l[hg]s$" . literate-haskell-mode)
                ("\\.g$"      . antlr-mode)
                ) auto-mode-alist))

;; Add autoload modes
(autoload 'jde-mode "jde" "Java Development Environment." t)
(autoload 'todo-mode "todo" "Mode for editing a TODO list." t)
(autoload 'multi-mode "multi-mode" "Allow multiple major modes in a buffer." t)
(autoload 'haskell-mode "haskell-mode" "Haskell script mode." t)
(autoload 'literate-haskell-mode "haskell-mode" "Literate-Haskell mode." t)
(autoload 'antlr-mode "antlr-mode" "ANTLR grammar mode." t)

(add-hook 'haskell-mode-hook 'turn-on-haskell-font-lock)
(add-hook 'haskell-mode-hook 'turn-on-haskell-decl-scan)
(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
(add-hook 'haskell-mode-hook 'turn-on-haskell-indent)
(add-hook 'haskell-mode-hook 'turn-on-haskell-hugs)

;; Emacs/W3 Configuration 
; (condition-case () (require 'w3-auto "w3-auto") (error nil))

;; Speedbar
(autoload 'speedbar-frame-mode "speedbar" "Popup a speedbar frame" t)
(autoload 'speedbar-get-focus "speedbar" "Jump to speedbar frame" t)

(define-key-after (lookup-key global-map [menu-bar tools])
  [speedbar] '("Speedbar" . speedbar-frame-mode) [calendar])

;; Stuff for JDE
;(require 'jsee)
;(require 'jdok)
;(require 'jmaker)
;(require 'jpack)

;(defun javadoc-mode () (interactive)
;  (multi-mode 1
;             'jde-mode
;             '("/***" html-mode)
;             '("*/" jde-mode)))

;(setq auto-mode-alist
;      (cons '("\\.java$" . javadoc-mode)
;           auto-mode-alist))


(custom-set-variables
 '(jde-run-option-properties (quote (("java.compiler" . "NONE"))))
 '(url-be-asynchronous t)
 '(ps-print-only-one-header t)
 '(ps-top-margin 24)
 '(jde-compile-option-depend t)
 '(ps-header-offset 18)
 '(jde-help-docsets (quote (("javadoc" "/usr/local/jdk1.2/docs/" nil))))
 '(jde-run-applet-viewer "appletviewer")
 '(jde-bug-jre-home "/usr/local/jdk1.2/jre")
 '(jde-compile-option-debug (quote ("all" (t t nil))))
 '(jde-compile-option-target (quote ("1.2")))
 '(jde-bug-server-socket (quote (t . "2112")))
 '(ps-left-margin 24)
 '(jde-bug-debug t)
 '(jde-compile-option-depend-switch (quote ("-Xdepend")))
 '(url-privacy-level (quote (os agent)))
 '(jde-compile-option-sourcepath (quote ("/archive/java/Jagenda")))
 '(w3-use-terminal-glyphs t)
 '(jde-db-option-classpath (quote 
("/archive/programming/jde-latest/java/lib/jde.jar")))
 '(ps-number-of-columns 2)
 '(w3-do-incremental-display t)
 '(comint-input-ignoredups t)
 '(jde-bug-jdk-directory "/usr/local/jdk1.2")
 '(jde-build-use-make t)
 '(jde-quote-classpath nil)
 '(ps-landscape-mode t)
 '(jde-run-read-app-args t)
 '(jde-db-source-directories (quote ("/archive/java/Jagenda/" 
"/usr/local/jdk1.2/src/")))
 '(jde-db-set-initial-breakpoint t)
 '(ps-paper-type (quote a4) t)
 '(jde-jdk-doc-url "file:/usr/local/jdk1.2/docs/index.html")
 '(jde-db-debugger (quote ("jdebug" . "Class")))
 '(w3-notify (quote newframe))
 '(jde-global-classpath (quote ("/archive/java/Jagenda" "/usr/local/antlr" 
"/archive/java/Jagenda/browser/icebrowserbean.jar" 
"/archive/java/jini/jini1_0/lib/sun-util.jar" 
"/archive/java/jini/jini1_0/lib/jini-core.jar" 
"/archive/java/jini/jini1_0/lib/jini-ext.jar" "/usr/local/jdk1.2/lib/dt.jar")))
 '(ps-inter-column 24)
 '(jde-db-read-app-args t)
 '(jde-bug-jpda-directory "/usr/local/jdk1.2")
 '(ps-right-margin 24)
 '(delete-selection-mode nil nil (delsel))
 '(vc-default-init-version "0.1")
 '(ps-header-line-pad 0.1)
 '(ps-bottom-margin 24)
 '(scroll-bar-mode (quote right))
 '(w3-use-terminal-characters t))
(custom-set-faces)


(defconst my-c-style
  '((c-tab-always-indent        . 0)
    (c-basic-offset             . 2)
    (c-comment-only-line-offset . 0)
    (c-offsets-alist            . ((statement-block-intro . +)
                                   (substatement-open     . 0)
                                   (block-open            . 0)
                                   (inline-open           . 0)
                                   (label                 . 0)
                                   (statement-cont        . +)
                                   (case-label            . +)
                                   (access-label          . -)
                                   (inclass               . ++)
                                   ))
    )
  "My C Programming Style")
     
;; Customizations for all of c-mode, c++-mode, and objc-mode
(defun my-c-mode-common-hook ()
  (c-add-style "personal" my-c-style t)
  (setq tab-width 2
        ;; this will make sure spaces are used instead of tabs
        indent-tabs-mode nil)
  )

(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)




;;=============================================================================
;;                    scroll on  mouse wheel
;;=============================================================================

;; scroll on wheel of mouses
;(define-key global-map 'button4
;'(lambda (&rest args)
;(interactive) 
;(let ((curwin (selected-window)))
;(select-window (car (mouse-position)))
;(scroll-down 5)
;(select-window curwin)
;)))
;(define-key global-map [(shift button4)]
;'(lambda (&rest args)
;(interactive) 
;(let ((curwin (selected-window)))
;(select-window (car (mouse-position)))
;(scroll-down 1)
;(select-window curwin)
;)))
;(define-key global-map [(control button4)]
;'(lambda (&rest args)
;(interactive) 
;(let ((curwin (selected-window)))
;(select-window (car (mouse-position)))
;(scroll-down)
;(select-window curwin)
;)))

;(define-key global-map 'button5
;'(lambda (&rest args)
;(interactive) 
;(let ((curwin (selected-window)))
;(select-window (car (mouse-position)))
;(scroll-up 5)
;(select-window curwin)
;)))
;(define-key global-map [(shift button5)]
;'(lambda (&rest args)
;(interactive) 
;(let ((curwin (selected-window)))
;(select-window (car (mouse-position)))
;(scroll-up 1)
;(select-window curwin)
;)))
;(define-key global-map [(control button5)]
;'(lambda (&rest args)
;(interactive) 
;(let ((curwin (selected-window)))
;(select-window (car (mouse-position)))
;(scroll-up)
;(select-window curwin)
;)))
;


;(cond ((fboundp 'global-font-lock-mode)
;            ;; Turn on font-lock in all modes that support it
;            (global-font-lock-mode t)
;            ;; Maximum colors
;            (setq font-lock-maximum-decoration t)
;            ;; Customize face attributes
;            (setq font-lock-face-attributes
;                  ;; Symbol-for-Face Foreground Background Bold Italic Underline
;                  '((font-lock-comment-face       "DarkGreen")
;                    (font-lock-string-face        "Sienna")
;                    (font-lock-keyword-face       "RoyalBlue")
;                    (font-lock-function-name-face "DarkGray")
;                    (font-lock-variable-name-face "DarkGray")
;                    (font-lock-type-face          "Blue")
;                    (font-lock-reference-face     "Purple")))
;            ;; Create the faces from the attributes
;            (font-lock-make-faces)))

;;(cond ((fboundp 'global-font-lock-mode)
;; Turn on font-lock in all modes that support it
;;(global-font-lock-mode t)
;; Maximum colors
;;(setq font-lock-maximum-decoration t)))



















Reply via email to