This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
I'm trying to debug an application that requires a couple of library files to run. These run fine with regular execution. To run, they require two library files. One of them is a database driver located in <userdir>/lib/ext and the other is an installed module. If I look at the project settings for the executor I use, I see that the database driver is in the library path and the module is in the classpath. The same this is true of the debugger executor. But when I start the debugger, neither of these libraries is found. The libraries I need I can see in the debugger executor properties: In Classpath: E:\build010514trunkce\modules\dbschema.jar In Librarypath: e:\netbeanshome\lib\ext\classes12.zip I can send a screenshot of the project settings window showing that these are there if necessary. But this line is what prints when I start the executor. Note that neither library is there: e:\jdk1.3\jre\..\bin\java -classic -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=petunia:1329,suspend=y -Djava.compiler=NONE "-Xbootclasspath:e:\jdk1.3\jre\..\lib\tools.jar;e:\jdk1.3\jre\lib\rt.jar;e:\jdk1.3\jre\lib\i18n.jar;e:\jdk1.3\jre\lib\sunrsasign.jar;e:\jdk1.3\jre\classes;" -classpath "e:\netbeanshome\system;E:\build010514trunkce\system;E:\build010514trunkce\beans\TimerBean.jar;E:\build010507trunkce\beans\TimerBean.jar;E:\build010514trunkce\modules\ext\persistence-rt.jar;E:\build010514trunkce\modules\ext\AbsoluteLayout.jar;E:\build010514trunkce\modules\ext\sql.jar;E:\build010514trunkce\modules\ext\rowset.jar;E:\build010514trunkce\lib\ext\jdbc20x.zip;E:\build010514trunkce\lib\ext\xerces.jar;E:\build010514trunkce\lib\ext\parser.jar;E:\build010514trunkce\modules\ext\jasper.jar;E:\build010514trunkce\lib\ext\servlet.jar;E:\build010514trunkce\modules\ext\webserver.jar;E:\ifixitsrc" IfixitTestForm
ASSIGNED
First of all, the debugger is configured in Project Settings\Debugger Types\Default Debugging. Project Settings\Executor Types\Debugger Executor is a special executor that executes an application in debug mode. It allows the debugger to connect it using Attach VM ... action. {library} and {classpath} tags are not part of classpath argument in case of "Default Debugging" debugger type. See the bug #10870 for reasons why they have been removed. However, you can add these tags to be part of classpath. Go to Project Settings\Debugger Types\Default Debugging\Properties\External Process and change classpath part of Arguments from -classpath {q}{filesystems}{q} to -classpath {q}{filesystems}{library}{classpath}{q}
The bug is marked as invalid though nothing has been changed and the functionality is still a broken: something that can be executed in the IDE cannot be debugged. Developers that need classes from the IDE modules in their classpath are required to mount(!?) the corresponding jar files in the filesystem. This bug needs to be fixed in 3.2.1
Marking as INVALID because I don't see any reason why there should be {library} tag in the default value of the external process. Customers developing in Netbeans usually don't need IDE's classes in the classpath. The main purpose of the Netbeans IDE is to support developing of the Java applications, not the developing of the IDE itself. On the other hand, if you want to have IDE's classes in the classpath you can add {library} tag into the External Process property of the Default Debugging. So, there is no functionality broken -> Invalid issue.