on 9/11/07 7:55 AM, Theodore H. Smith at [EMAIL PROTECTED] wrote: > Can someone email me, or email the list directly if you aren't > worried that RS will take actions against you, the plugin debugging > text file that supposedly beta people have but release people don't? > > I think it's really ridiculous that RS can release a release version > of RB with a feature that is only documented for beta testers. > > I assume it's just an oversight though, so they won't mind you fixing > the oversight by emailing the Documentation to me ;)
Here you go. Chris Plugin Debugging by Aaron Ballman ([EMAIL PROTECTED]) 6/21/2007 REALbasic 2007r4 has two new debugging features designed to support plugin developers. The development tools used to write plugins need a way to interface with REALbasic to be able to run plugins under their source-level debuggers. Generally, they do this by building a shared library into a certain location, and then launching an executable (of the user's choice) which is responsible for loading the shared library. In previous versions of REALbasic, there was no simple way to debug plugins because the RB compiler would embed the plugin code into its output instead of using the original plugin file on disk. REALbasic 2007r4 now allows you to specify "debugging" plugins, so that RB's compiler links its executables against the original file instead of copying the plugin code into the output app. This feature set is designed to cover two use cases: debugging plugin code, and debugging plugin code while debugging REALbasic code. You specify a debugging plugin by placing the plugin file into a special directory next to the IDE called "Debug Plugins." The REALbasic IDE loads any plugins in this directory and makes them accessible as if they were regular plugins. When compiling an application which uses one of these plugins, the resulting executable contains absolute path or alias information so that the application can load the plugin when it is launched. Specific instructions about development environment setup are beyond the scope of this document, but the general approach is that you would place the plugin to be debugged into the Debug Plugins directory and launch the IDE. Create a test application which utilizes the plugin and build it. Then, in your plugin development environment, designate that the shared library should be built into the Debug Plugins directory, and that the newly created REALbasic executable should be launched after the shared library has been built. The second use for this feature is to debug a plugin at the same time as debugging the REALbasic code using the plugin. If the IDE finds a Debug Plugins directory in the proper location, then the Project menu will contain a new "Run Paused" menu item. Selecting this item will build a debug version of the project and start up the debugger, but will not launch the debug executable. This allows you to debug the REALbasic project, but have an external entity be responsible for launching the executable. Frequently, this will be the plugin development environment. Caveats: 1) Only "native" plugins can be debugging plugins. Don't put RBX files into the Debug Plugins folder as this is not supported functionality. Instead, put the native shared library (dll, dylib, so, etc) into the Debug Plugins directory. Cross-compiling is not supported. 2) Watch out for duplicate plugins. This can happen when you have the same plugins in both the Plugins and Debug Plugins folder. The IDE does not attempt to warn you of this situation, and it can result in hard-to-diagnose compile errors. 3) Be certain to remove any files from your Debug Plugins folder when making release builds of applications. Failing to do so will mean that the released application will not launch anywhere but the original development machine. 4) Note that a project does not need to use a plugin in the Debug Plugins folder in order to get the Run Paused command. The presence of the folder determines whether the menu item will appear or not. _______________________________________________ Unsubscribe or switch delivery mode: <http://www.realsoftware.com/support/listmanager/> Search the archives: <http://support.realsoftware.com/listarchives/lists.html>
