]>
src.bluestatic.org Git - macgdbp.git/log
Robert Sesek [Sun, 31 Oct 2010 17:04:48 +0000 (13:04 -0400)]
Add a quit source to the DebuggerConnection's run loop to properly handle closing.
Robert Sesek [Sun, 31 Oct 2010 16:18:20 +0000 (12:18 -0400)]
Properly set the |connected_| flag in the Connection to NO when we're stopped. Prevents an EXC_BAD_ACCESS on |-run:|.
Robert Sesek [Sun, 31 Oct 2010 16:13:45 +0000 (12:13 -0400)]
Rename |-connectInternal| to |-connectionThreadStart|.
Robert Sesek [Sun, 31 Oct 2010 16:11:23 +0000 (12:11 -0400)]
Remove 2 super verbose NSLog() statements.
Robert Sesek [Sun, 31 Oct 2010 16:09:03 +0000 (12:09 -0400)]
Switch to using VariableNode in the interface. Reduce use of NSXMLElementAdditions to just the key methods.
Robert Sesek [Sun, 31 Oct 2010 15:24:15 +0000 (11:24 -0400)]
Add VariableNode which will replace our use of raw NSXMLElement.
Robert Sesek [Sun, 31 Oct 2010 14:52:44 +0000 (10:52 -0400)]
Remove the pending property after it is received.
Robert Sesek [Sun, 31 Oct 2010 14:48:36 +0000 (10:48 -0400)]
Initial work to get properties loading asynchronously. This may have a memory corruption bug at the moment...
Robert Sesek [Sun, 31 Oct 2010 14:26:51 +0000 (10:26 -0400)]
Add a singleton |+instance| method to AppDelegate so we don't cast everywhere.
Robert Sesek [Sun, 31 Oct 2010 14:23:52 +0000 (10:23 -0400)]
Stop crashing with EXC_BAD_ACCESS when expanding properties beyond the fetched depth.
Robert Sesek [Sun, 31 Oct 2010 14:13:22 +0000 (10:13 -0400)]
Make logging threadsafe.
Robert Sesek [Sun, 31 Oct 2010 14:01:01 +0000 (10:01 -0400)]
Tabs to spaces.
Robert Sesek [Sun, 31 Oct 2010 00:11:01 +0000 (20:11 -0400)]
Begin making DebuggerConnection more threadsafe.
Robert Sesek [Sat, 30 Oct 2010 22:07:24 +0000 (18:07 -0400)]
Xcode project file updates.
Robert Sesek [Fri, 9 Jul 2010 03:59:39 +0000 (23:59 -0400)]
Make StackFrame a dumb data structure and remove its initializer. All properties are now read-write.
This fixes two warnings produced by Clang-SA and avoids sticking an |+alloc|ed but non-
|-init...|ed class inside the |stackFrames_| array.
Robert Sesek [Sat, 19 Jun 2010 17:20:45 +0000 (13:20 -0400)]
Don't drain the pool, just release it.
Robert Sesek [Sat, 19 Jun 2010 16:26:58 +0000 (12:26 -0400)]
Lazily load the complete stack frame for anything but the current one.
Robert Sesek [Sat, 19 Jun 2010 16:14:23 +0000 (12:14 -0400)]
* In StackController, don't update the frame indices when |-push:|- or |-pop|-ing.
* Only retreive full stack frame information for frame 0. The other frames will be fetched lazily.
Robert Sesek [Tue, 1 Jun 2010 03:03:02 +0000 (23:03 -0400)]
Give |-connectInternal| an autorelease pool.
Robert Sesek [Tue, 1 Jun 2010 02:49:42 +0000 (22:49 -0400)]
Re-organize DebuggerConnection to give it some shape and a decent public interface.
Robert Sesek [Tue, 1 Jun 2010 02:37:58 +0000 (22:37 -0400)]
Remove objects from the |callTable_| after handing the response.
Robert Sesek [Tue, 1 Jun 2010 02:35:32 +0000 (22:35 -0400)]
Put a lock around adding to the write queue in |-send|.
Robert Sesek [Tue, 1 Jun 2010 02:28:14 +0000 (22:28 -0400)]
Make DebuggerConnection work on a separate thread.
Robert Sesek [Tue, 1 Jun 2010 02:20:39 +0000 (22:20 -0400)]
Move the callTable back into DebuggerProcessor.
Robert Sesek [Tue, 1 Jun 2010 00:59:49 +0000 (20:59 -0400)]
Finished enough of the basic refactoring to get things working.
Robert Sesek [Mon, 31 May 2010 23:44:04 +0000 (19:44 -0400)]
Add a new DebuggerConnection that separates out the socket logic from the handling logic.
This compiles, but will most certainly not work. This is just the initial separation of
methods and ivars that needs to be rewired.
Robert Sesek [Mon, 31 May 2010 23:20:07 +0000 (19:20 -0400)]
Rename DebuggerConnection to DebuggerProcessor in preparation for the separation between the two.
Robert Sesek [Mon, 31 May 2010 23:06:26 +0000 (19:06 -0400)]
Don't |-send:| if the transactions do not match
Robert Sesek [Tue, 4 May 2010 16:37:32 +0000 (12:37 -0400)]
Replace strlen() with a loop that we can guarantee.
Robert Sesek [Tue, 27 Apr 2010 17:35:15 +0000 (13:35 -0400)]
Rewrite |-readStreamHasData| in an effort to make it more robust.
Robert Sesek [Wed, 21 Apr 2010 04:40:55 +0000 (00:40 -0400)]
Fix some potential bugs and do general cleanup.
Robert Sesek [Wed, 21 Apr 2010 04:16:49 +0000 (00:16 -0400)]
Rewrite DebuggerConnection's packet handling sytem. The initial version failed
to account for multiple packets in the same stream read.
* Rewrite |-readStreamHasData| to just parse out string packets
* Created |-handlePacket:| to perform the XML parsing and dispatching
Robert Sesek [Thu, 15 Apr 2010 05:21:07 +0000 (01:21 -0400)]
* Factor out some code for parsing the txnID out of a command into |-transactionIDFromCommand:|.
* Change the way we use the write queue, with the aim of producing less into it and starving it infrequently.
Robert Sesek [Thu, 15 Apr 2010 05:06:26 +0000 (01:06 -0400)]
Use the new VersionCast URL.
Robert Sesek [Thu, 15 Apr 2010 04:56:02 +0000 (00:56 -0400)]
Remove duplicated logic.
Robert Sesek [Thu, 15 Apr 2010 04:40:25 +0000 (00:40 -0400)]
Try to recover from erroneous XML packets.
Robert Sesek [Tue, 30 Mar 2010 05:10:00 +0000 (01:10 -0400)]
* Do not allow editing of the log table.
* Move the transaction checks from |-handleResponse:| to |-readStreamHasData|.
* Record log entries AFTER sending and receiving so that the transaction IDs make more sense.
Robert Sesek [Mon, 29 Mar 2010 21:53:44 +0000 (17:53 -0400)]
Officially kill TransportDebug env setting.
Robert Sesek [Mon, 29 Mar 2010 17:13:52 +0000 (13:13 -0400)]
Create a LoggingController that shows all the commands sent and received.
This will replace the TransportDebug variable. This first pass just adds very
basic support for this functionality. The view still needs some work.
Robert Sesek [Mon, 29 Mar 2010 15:37:26 +0000 (11:37 -0400)]
Create a top-level dev/ directory. Move resource masters there and import CFNetworkTest.
Robert Sesek [Sun, 28 Mar 2010 17:27:27 +0000 (13:27 -0400)]
Don't crash after pressing the "run" button or at end of script.
Robert Sesek [Sat, 27 Mar 2010 20:33:12 +0000 (16:33 -0400)]
Remove two obsolete methods: |-[DebuggerConnection getCurrentStack]| and |-[DebuggerController reloadStack]|.
Robert Sesek [Sat, 27 Mar 2010 20:26:09 +0000 (16:26 -0400)]
Rewrite |-[DebuggerConnection getProperty:]| to be asynchronous.
Robert Sesek [Sat, 27 Mar 2010 20:14:51 +0000 (16:14 -0400)]
Try to recover from malformed XML errors by manually parsing out the transaction_id.
Robert Sesek [Sat, 27 Mar 2010 19:44:53 +0000 (15:44 -0400)]
Rename GDBpConnection to DebuggerConnection. Also organize all the ivars and methods.
Robert Sesek [Sat, 27 Mar 2010 16:42:13 +0000 (12:42 -0400)]
Switch some basic ints to NSUInteger in GDBpConnection.
Robert Sesek [Sat, 27 Mar 2010 16:24:17 +0000 (12:24 -0400)]
Switch from GCC to Clang compiler.
Robert Sesek [Sun, 21 Feb 2010 16:32:50 +0000 (11:32 -0500)]
* Start plumbing data back to the UI now that we're partially working asynchronously
* Set up a callback for |-addBreakpoint:|
* Create |-transactionIDFromResponse:| helper
Robert Sesek [Sun, 21 Feb 2010 02:25:52 +0000 (21:25 -0500)]
Receive contexts and then request their variables; finish rewriting |-createStackFrame:|.
Robert Sesek [Sat, 20 Feb 2010 18:06:34 +0000 (13:06 -0500)]
Ditch the hybrid routed/command dispatcher system for a pure callback system.
Everything is still broken, but this change did not regress anything further.
Robert Sesek [Sat, 20 Feb 2010 04:27:28 +0000 (23:27 -0500)]
Fix encoding issues by not implicit casting UInt8 to char. Go through CFString instead.
Robert Sesek [Wed, 17 Feb 2010 06:43:24 +0000 (01:43 -0500)]
Always clobber the stack in |-debuggerStep:|
Robert Sesek [Wed, 17 Feb 2010 04:35:23 +0000 (23:35 -0500)]
Use a lock to make |-sendQueuedWrites| a critical section
Robert Sesek [Wed, 17 Feb 2010 04:13:53 +0000 (23:13 -0500)]
* Start tracking the last read and last written transaction IDs
* Start numbering transactions at 1, rather than 0
* Kill some NSLogs
* Try to enfore strict ordering of read/writes using the last transaction information
Robert Sesek [Tue, 16 Feb 2010 22:41:39 +0000 (17:41 -0500)]
* Start making |-createStackFrame:| asynchronous
* Give StackFrame objects a routingID_
* Queue writes in GDBpConnection
Robert Sesek [Tue, 16 Feb 2010 16:43:48 +0000 (11:43 -0500)]
Happy new year!
Robert Sesek [Tue, 16 Feb 2010 16:42:28 +0000 (11:42 -0500)]
Xcode project updates:
* Make Gitcrement less annoying to work with
* Xcode 3.2 updates
Robert Sesek [Tue, 16 Feb 2010 16:36:54 +0000 (11:36 -0500)]
* Create functionality to perform non-blocking writes using a write queue
* Fix up the debugger step commands to use async communication
Robert Sesek [Tue, 16 Feb 2010 15:54:07 +0000 (10:54 -0500)]
Remove SocketWrapper and start using CFSocket with CFStreams in GDBpConnection. This compiles but not much else.
Robert Sesek [Mon, 1 Feb 2010 06:15:52 +0000 (01:15 -0500)]
Prevent the Preferences window from jumping around when it opens by disabling
the "Visible on Launch" property.
Robert Sesek [Mon, 1 Feb 2010 06:10:56 +0000 (01:10 -0500)]
Remove IDE key preference because this is a property from the engine, not the IDE.
Robert Sesek [Mon, 1 Feb 2010 06:05:26 +0000 (01:05 -0500)]
Remove the |session| ivar from GDBpConnection. Use |transactionID| to keep
track of individual message transactions with the debugger engine.
Robert Sesek [Thu, 30 Jul 2009 11:48:57 +0000 (07:48 -0400)]
Make our project Xcode 3.1+ compatible.
Robert Sesek [Thu, 30 Jul 2009 11:28:32 +0000 (07:28 -0400)]
Change NSXMLElementAdditions to use UTF8 strings when converting, rather than ASCII.
Robert Sesek [Sun, 26 Jul 2009 16:23:32 +0000 (12:23 -0400)]
Make the transport logging an environmental setting.
To enable: `setenv TransportDebug YES`.
Robert Sesek [Wed, 22 Jul 2009 04:58:12 +0000 (00:58 -0400)]
In |-debuggerDisconnected|, unmark the program counter line so it doesn't look like we're connected.
Robert Sesek [Wed, 22 Jul 2009 04:49:29 +0000 (00:49 -0400)]
Fix warnings about GDBpConnectionDelegate by including the header in DebuggerController.h.
Robert Sesek [Wed, 22 Jul 2009 04:40:12 +0000 (00:40 -0400)]
Version to 1.4b.
Robert Sesek [Wed, 22 Jul 2009 04:34:20 +0000 (00:34 -0400)]
* Add a preference to automatically reconnect. Fixes bug #165.
* Create a GDBpConnectionDelegate formal protocol.
* No longer use notifications to pass errors from GDBpConnection to DebuggerController.
* Add delegate methods for |-debuggerConnected| and |-debuggerDisconnected|.
* Move GDBpConnection's |-socketDidAccept| implementation into a helper so it can be run on the main thread.
Robert Sesek [Wed, 22 Jul 2009 04:06:50 +0000 (00:06 -0400)]
* Completely de-couple SocketWrapper from GDBpConnection by passing the port directly to the ctor, rather than extracting it from the connection.
* Make SocketWrapperDelegate a formal protocl and GDBpConnection now conforms to it.
* Clean up delegate interface.
Robert Sesek [Wed, 22 Jul 2009 03:37:32 +0000 (23:37 -0400)]
Add a tooltip to the "break on first line" preference.
Robert Sesek [Wed, 22 Jul 2009 02:55:49 +0000 (22:55 -0400)]
Switch to using -[NSString stringWithUTF8String:] in SocketWrapper.
Robert Sesek [Tue, 19 May 2009 04:37:01 +0000 (00:37 -0400)]
Mark one of the fixes as bug 157
Robert Sesek [Tue, 19 May 2009 03:14:54 +0000 (23:14 -0400)]
Add a toolbar icon for the HUD window, which required making DebuggerController the action handler.
* Icons/HUDIcon.png: New icon
* CONTRIBUTORS: Add credits for icon
* MacGDBp.xcodeproj/project.pbxproj: Project updates for icon
* Source/AppDelegate.h+m:
(showInspectorWindow:): Moved to...
* Source/DebuggerController.h+m:
(showInspectorWindow:): new from ^
* English.lproj/Debugger.xib: Add toolbar item
* English.lproj/MainMenu.xib: Change Window-->Inspector's target
Robert Sesek [Tue, 19 May 2009 01:58:11 +0000 (21:58 -0400)]
We need to use UTF8 string encoding instead of ASCII because we're receiving XML. Socket code should be perfect now.
* Source/SocketWrapper.m:
(receive)
Robert Sesek [Sun, 17 May 2009 14:11:33 +0000 (10:11 -0400)]
Put the debugger behavior settings above the Xdebug ones
* English.lproj/Preferences.xib
Robert Sesek [Sun, 17 May 2009 14:07:33 +0000 (10:07 -0400)]
Rewrote -[SocketWrapper receive] so that we do not get any more partial/broken packets, hopefully.
* Source/SocketWrapper.m:
(receive)
Robert Sesek [Sun, 17 May 2009 03:53:21 +0000 (23:53 -0400)]
More fixes for paths with spaces. We can't use single quotes to pass path names, so create a new method to escape them.
* Source/GDBpConnection.m:
(escapedURIPath): New private method that takes a path and returns a safe file:// URI
(addBreakpoint:): Use -[escapedURIPath:]
(createStackFrame:): Don't pass the escaped path to the frame, keep it internally
Robert Sesek [Sun, 17 May 2009 03:29:33 +0000 (23:29 -0400)]
Don't try to manage the stack using internal state anymore, simply grab it every time from the engine
* Soure/DebuggerController.m:
(stepIn:): The GDBpConnection methods no longer return anything, get entire stack now
(stepOut:): ditto
(stepOver:): ditto
* Soure/GDBpConnection.h+m:
(run): Return void
(stepIn): ditto
(stepOut): ditto
(stepOver): ditto
Robert Sesek [Sun, 17 May 2009 00:12:22 +0000 (20:12 -0400)]
Add a preference to disable automatic step-in upon connection
* English.lproj/Preferences.xib: Add checkbox to the general prefs
* Source/AppDelegate.m: Add NSUserDefaults default value
* Source/DebuggerController.m:
(startDebugger): Check pref before stepping
Robert Sesek [Sun, 17 May 2009 00:10:59 +0000 (20:10 -0400)]
Fix a type mismatch compile error
* Source/GDBpConnection.h: Change NSArray to StackFrame for -[run]
Robert Sesek [Sat, 16 May 2009 19:10:53 +0000 (15:10 -0400)]
Merge branch 'bug-157'
Conflicts:
Source/DebuggerController.m
Source/GDBpConnection.m
Robert Sesek [Sat, 16 May 2009 19:06:20 +0000 (15:06 -0400)]
Merge branch 'cosmetics'
Conflicts:
CHANGES
Source/GDBpConnection.m
Robert Sesek [Sat, 16 May 2009 19:02:15 +0000 (15:02 -0400)]
Factored out the stack reloading code
* Source/DebuggerController.m:
(reloadStack): New private method to fetch and insert new stack
(run): Use reloadStack
* Source/GDBpConnection.m+h:
(getCurrentStack): New method to get the stack and create all the stack frames
(run): Return only the current stack frame instead of a whole stack
Robert Sesek [Sun, 10 May 2009 14:46:16 +0000 (10:46 -0400)]
Add NSLog()s around the send/receive stuff so we can track activity with Xdebug
* MacGDBp.xcodeproj: In debug mode, define BLU_DEBUG as a C flag
* Source/GDBpConnection.m:
(createCommand:)
(processData:)
Robert Sesek [Sun, 10 May 2009 14:44:53 +0000 (10:44 -0400)]
When getting the source, we need to escape the '%20' space character so the source displays properly
* Source/GDBpConnection.m:
(createStackFrame)
Robert Sesek [Sun, 10 May 2009 14:32:26 +0000 (10:32 -0400)]
Breakpoints with a space in the filename would not be set.
* Source/GDBpConnection.m:
(addBreakpoint:): Quote the breakpoint path before sending the GDBp command
Robert Sesek [Sun, 10 May 2009 14:08:37 +0000 (10:08 -0400)]
Make the asterisk attached to the type, rather than the variable.
Robert Sesek [Sat, 4 Apr 2009 20:25:57 +0000 (16:25 -0400)]
Fix the run command by having it obliterate the current stack and set a new one
* Source/GDBpConnection.h+m:
(run): Now returns an NSArray of the new stack frames
(createStackFrame): Sets the StackFrame's index to be the depth
* Source/DebuggerController.m:
(run:): Set the new stack and refresh the source viewer
Robert Sesek [Sat, 4 Apr 2009 19:28:59 +0000 (15:28 -0400)]
Change -[createStackFrame] to take a depth and create private -[createCurrentStackFrame] to call it with depth 0
* Source/GDBpConnection.m:
(createStackFrame:): Take a new depth argument
(createCurrentStackFrame): New method to call above with 0
Robert Sesek [Mon, 4 May 2009 16:38:19 +0000 (12:38 -0400)]
Set the version to be 1.3
* Info.plist
Robert Sesek [Fri, 1 May 2009 21:49:30 +0000 (17:49 -0400)]
Set the SourceView.file to nil and tell the stack NSArrayController to rearrange
* Source/DebuggerController.m:
(resetDisplays)
Robert Sesek [Sat, 4 Apr 2009 19:17:38 +0000 (15:17 -0400)]
Make -[GDBpConnection(Private) createCommand:] take a variable number of arguments to parse
* Source/GDBpConnection.m:
(createCommand:)
Robert Sesek [Sat, 4 Apr 2009 03:50:50 +0000 (23:50 -0400)]
Before setting selectedVariable, we need to make sure there is a selection!
* Source/DebuggerController.m:
(stepIn:)
(stepOut:)
(stepOver:)
Robert Sesek [Sat, 4 Apr 2009 03:31:24 +0000 (23:31 -0400)]
Retain the selection in the variable list when stepping through code
* Source/DebuggerController.h: Add the selectedVariable ivar
* Source/DebuggerController.m:
(stepIn:): Save selected variable
(stepOut:): ditto
(stepOver:): ditto
(expandVariables): When looping over variables to expand, also reset the selection
Robert Sesek [Sat, 4 Apr 2009 03:07:58 +0000 (23:07 -0400)]
NSLog() when Xdebug returns us an error
* Source/GDBpConnection.m:
(processData:)
Robert Sesek [Thu, 2 Apr 2009 19:08:58 +0000 (15:08 -0400)]
Not all breakpoint markers would be displayed in the active code debugger
* Source/DebuggerController.m:
(updateSourceViewer): Get all the breakpoints for the file and set the markers
Robert Sesek [Thu, 2 Apr 2009 18:50:53 +0000 (14:50 -0400)]
Update the changelog
Robert Sesek [Thu, 2 Apr 2009 18:35:58 +0000 (14:35 -0400)]
Have the inspector remember its visibility
* Source/AppDelegate.m:
(load): Set the default value
* Source/DebuggerController.m:
(init): Show/hide the inspector based on prefs
* English.lproj/Debugger.xib: Bind the inspector's visibility
Robert Sesek [Thu, 2 Apr 2009 18:34:49 +0000 (14:34 -0400)]
When toggling the breakpoints window, we also need to check to make sure if it's visible but not key
* Source/AppDelegate.m:
(showBreakpointWindow:): If the window is visible but not key, order it front