1 # $Id: README 1 2004-08-20 11:17:52Z znek $
7 SOPEX provides basic infrastructure for developing SOPE applications
8 using Xcode on Mac OS X. SOPEX consists of a framework, a project
9 template and several file templates. The SOPEX.framework provides functionality
10 for launching and debugging SOPE applications. SOPEX applications can be
11 launched as normal Desktop applications and provide their own, integrated web
12 browser (using Apple's WebKit). Doing so, SOPEX applications are fully
13 functional stand-alone HTML applications.
19 SOPEX depends on the following frameworks to be properly installed:
25 Please note that in order for SOPE to run properly you need to have
26 installed at least one SaxDriver in /Library/SaxDrivers. The SOPE
27 installer should take care of this, however.
33 When debugging SOPEX apps in Xcode, you'll pretty soon experience that
34 gdb doesn't attach to the process you're expecting to ... that is because
35 gdb attaches itself to the frontmost process which is the application wrapper.
36 The web application is a process which gets forked off the application
37 wrapper. So if you want to debug the web process, you have two options:
39 a) attach gdb to this process manually (the process's pid is available from the
41 b) launch the application from Xcode with the --daemon option set. Something
42 like this will do the trick (all arguments in a single row):
43 --daemon -WOProjectDirectory
44 /Network/Users/znek/Projects/unchecked/znek/MulleCMS2/ -WOCachingEnabled NO
45 -WODebuggingEnabled YES -WODebugComponentLookup YES
47 It's totally clear to me that a) and b) aren't perfect. A perfect solution
48 would probably be to attach gdb on demand (via a menu command). I don't know
49 if Xcode is scriptable enough to do this. Someone with more knowledge on the
50 subject please elaborate!
53 USEFUL DEBUGGING DEFAULTS
54 =========================
56 At present there's a limited set of NSUserDefaults aiding in the debugging
57 of SOPEX applications. Please note that all user defaults for SOPE applications
61 if set, forces the child process to be launched on this specific port.
62 Useful for debugging with tcpdump.
65 if set, forces the parent process to listen on this port number for
66 SNS connections. Useful for debugging with tcpdump.
68 -SOPEXDebugEnabled <bool>:
69 Global debug message trigger.
71 -SOPEXDebugWebConnection <bool>:
72 Use this to trigger debug messages in SOPEXWebConnection.
78 - preferences (optional debugging options, etc.)
79 - session statistics, resource consumption (real mem, virtual mem)
81 - SOPEXBrowserWindow: make favIcon work
92 General technical information about prebinding is available from Apple at
93 http://developer.apple.com/documentation/Performance/Conceptual/LaunchTime/Tasks/Prebinding.html#//apple_ref/doc/uid/20001858.
95 OGo frameworks currently use the range from 0xC0000000 to 0xCFFFFFFF.
97 Any questions and feedback regarding our use of this range should go to
98 Marcus Müller <znek@mulle-kybernetik.com>.
101 SOPEX: 0xC6000000 - 0xC6FFFFFF
102 =============================