Ο κώδικας και η μορφοποίηση που ενεργοποίησαν τη διασύνδεση της άμεσης βοήθειάς μας είναι αρκετά ξεκάθαρα. Αλλά τι κάνετε εάν η διασύνδεση άμεσης βοήθειας δεν φαίνεται να λειτουργεί;
Εάν η υλοποίηση της ενέργειάς σας δεν εμπλέκεται ιδιαίτερα, πρέπει να καλέσετε εσείς την ενέργεια με κάποιον κώδικα δοκιμής μέσα στο Eclipse. Με αυτό τον τρόπο, θα γνωρίζετε ότι η ενέργεια δεν περιέχει σφάλματα πριν την κλήση της από το JavaScript.
Μπορείτε να τροποποιήσετε το "plugins/org.eclipse.help_2.1.0/liveHelp.js" για να συμπεριλάβει μια κλήση στη λειτουργία alert ως την πρώτη πρόταση στη λειτουργία liveAction:
function liveAction(pluginId, className, argument) { alert("liveAction called"); ...
Η λειτουργία alert ανοίγει ένα πλαίσιο διαλόγου προειδοποίησης στο πρόγραμμα πλοήγησης και μπορεί να χρησιμοποιηθεί για να επαληθευθεί ότι το liveAction κλήθηκε κανονικά στο HTML σας. Εάν δεν βλέπετε ένα πλαίσιο διαλόγου προειδοποίησης όταν πατάτε τη διασύνδεση βοήθειας, τότε έχετε πρόβλημα στη μορφοποίηση HTML.
Μόλις μάθετε ότι εκτελείται το JavaScript, μπορείτε να εκτελέσετε εντοπισμό και διόρθωση σφαλμάτων στην ενέργειά σας μέσα από το Eclipse. Για να το κάνετε αυτό, μπορείτε να ορίσετε ένα σημείο διακοπής στην κλάση της ενέργειας βοήθειάς σας και να ξεκινήσετε μια χρήση συγκέντρωσης όλων των φακέλων Eclipse. Πρέπει να δοκιμάσετε την άμεση σας βοήθεια με το πρόγραμμα πλοήγησης της βοήθειας από τη χρήση Eclipse που μόλις εκκινήθηκε, όχι από τη χρήση του υπολογιστή σας, εφόσον το JavaScript από το HTML βοήθειας καλεί μια μικροεφαρμογή εξυπηρετητή στον εξυπηρετητή βοήθειας του Eclipse που εκκίνησε το πρόγραμμα πλοήγησης.
Εάν δεν συμβαίνει τίποτα αφού ορίσετε το σημείο διακοπής και πατήσετε τη διασύνδεση άμεσης βοήθειας, είναι πιθανόν να μην έχουν προσδιοριστεί σωστά στο JavaScript η πρόσθετη λειτουργία και η κλάση ενεργής βοήθειάς σας.
Μόλις καταφέρετε να σταματήσετε στο σημείο διακοπής στην ενέργειά σας, μπορείτε να προβείτε σε εντοπισμό και διόρθωση σφαλμάτων στην ενέργεια όπως θα κάνατε σε κάθε άλλο κώδικα Java.
Ένα κοινό πρόβλημα χρόνου εκτέλεσης είναι η εσφαλμένη προσπέλαση του κώδικα περιβάλλοντος χρήστη από το νήμα που καλεί την άμεση βοήθεια. Εάν η ενέργεια ενεργής βοήθειας προέρχεται από κώδικα που εκτελέστηκε αρχικά σε ένα νήμα περιβάλλοντος χρήστη, θα πρέπει να τροποποιηθεί για να διαχειριστεί το γεγονός ότι εκτελείται από νήμα εκτός περιβάλλοντος χρήστη.
public void run() { // Active help does not run on the UI thread, so we must use syncExec Display.getDefault().syncExec(new Runnable() { public void run() { //do the UI work in here; } }); }