summaryrefslogtreecommitdiffstats
path: root/lldb/tools/debugserver
Commit message (Collapse)AuthorAgeFilesLines
...
* Convert lldb::ModuleSP to use an instrusive ref counted pointer.Greg Clayton2011-09-172-2/+3
| | | | | | | | | We had some cases where getting the shared pointer for a module from the global module list was causing a performance issue when debugging with DWARF in .o files. Now that the module uses intrusive ref counts, we can easily convert any pointer to a shared pointer. llvm-svn: 139983
* Added more logging, and renamed FPR to FPU in a the register set/flavor enum.Greg Clayton2011-09-174-19/+77
| | | | llvm-svn: 139982
* Correctly handle the when we the 'G' packet fails. There wereGreg Clayton2011-09-171-1/+9
| | | | | | | cases where we were returning no error even though this packet was failing. llvm-svn: 139981
* Foe x86_64/i386, piggyback the hardware index of the fired watchpoint in the ↵Johnny Chen2011-09-172-0/+8
| | | | | | | | | | exception data sent back to the debugger. On the debugger side, use the opportunity during the StopInfoMachException::CreateStopReasonWithMachException() method to set the hardware index for the very watchpoint location. llvm-svn: 139975
* Add comment regarding method call to DNBArchProtocol::NotifyException().Johnny Chen2011-09-151-0/+1
| | | | llvm-svn: 139800
* Modify MachThread::NotifyException() to allow the arch specific protocol to ↵Johnny Chen2011-09-151-26/+5
| | | | | | | | | | process the passed in (MachException::Data &)exc first before possible reassignment of the member m_stop_exception with exc. This allows lldb to stop at the watchpoint of a simple test program. llvm-svn: 139767
* Update I386 DNB impl to fix the same errors as DNBArchImplX86_64: ('==' ↵Johnny Chen2011-09-131-12/+12
| | | | | | instead of '=') and (by value instead of by reference). llvm-svn: 139667
* Watchpoint WIP:Johnny Chen2011-09-131-12/+12
| | | | | | | | | | | | | | | | | o WatchpointLocationList: Add a GetListMutex() method. o WatchpointLocation: Fix Dump() method where there was an extra % in the format string. o Target.cpp: Add implementation to CreateWatchpointLocation() to create and enable a watchpoint. o DNBArchImplX86_64.cpp: Fix bugs in SetWatchpoint()/ClearWatchpoint() where '==' was used, instead of '=', to assign/reset the data break address to a debug register. Also fix bugs where a by reference debug_state should have been used, not by value. llvm-svn: 139666
* Reset the debug status register, only if necessary, before we resume,Johnny Chen2011-09-092-9/+27
| | | | | | which saves unnecessary traffic to the kernel. llvm-svn: 139410
* Basic infrastructure code to exploit malloc stack logging as available on ↵Enrico Granata2011-09-094-0/+246
| | | | | | Mac OS X to track the allocation history of pointers on the target process llvm-svn: 139337
* Added comments about exception code.Johnny Chen2011-09-082-0/+4
| | | | llvm-svn: 139294
* Add logic to the DNBArchImplX86_64/DNBArchImplI386::NotifyException() ↵Johnny Chen2011-09-084-27/+95
| | | | | | | | | | | | | callback method in order to distinguish the real single step exception from a watchpoint exception which uses the same exc_type of EXC_BREAKPOINT and exc_code of EXC_I386_SGL. This is done by checking the debug status register to find out whether the watchpoint data break event has fired, and, if yes, stuff the data break address into the exception's exc_sub_code field on the debugserver side for lldb to consume on the other end. llvm-svn: 139274
* Add logic to MachThreadList::GetThreadID() for the use case of setting a ↵Johnny Chen2011-09-072-6/+18
| | | | | | | | | | | | | watchpoint (MachThreadList::EnableHardwareWatchpoint()) where the watchpoint is not associated with a thread and the current thread, if set, is returned, otherwise we return the first thread. Plus minor change to RNBRemote::HandlePacket_z() to use the existing macros to check the validity of break_id/watch_id. llvm-svn: 139246
* Minor change: compare the return val of DNBWatchpointSet() against ↵Johnny Chen2011-09-071-2/+2
| | | | | | | | INVALID_NUB_WATCH_ID to determine its validity. llvm-svn: 139209
* DNBBreakpoint::SetEnabled() should take a bool, not a uint32_t, as its input ↵Johnny Chen2011-09-063-7/+9
| | | | | | | | | argument. Plus for watchpoint related functions, add new macros INVALID_NUB_WATCH_ID and NUB_WATCH_ID_IS_VALID and use them, instead. llvm-svn: 139163
* Watchpoint work in progress:Johnny Chen2011-09-025-0/+71
| | | | | | | | | | | Add a virtual method GetHardwareWatchpointHit() to the DNBArchProtocol base class which consults the architecture to return the watchpoint hit; otherwise return an invalid index. Add impl. of the method to X86_64 and I386 subclasses, plus reset the debug status register before we resume execution of the inferior thread. llvm-svn: 139034
* Renaming: from IsVacantWatchpoint() to IsWatchpointVacant().Johnny Chen2011-08-314-8/+8
| | | | llvm-svn: 138907
* Renamed the helper method to ClearWatchpointHits() for clarity of its purpose.Johnny Chen2011-08-314-4/+4
| | | | llvm-svn: 138899
* Add a couple of helper methods to check/clear the debug status registerJohnny Chen2011-08-314-0/+50
| | | | | | which contains the watchpoint hit information. llvm-svn: 138881
* Fix the shift amount applied to size_and_rw_bits() for debug control register,Johnny Chen2011-08-312-2/+4
| | | | | | which did not take into account the hardware index. llvm-svn: 138867
* Update comments.Johnny Chen2011-08-312-4/+4
| | | | llvm-svn: 138863
* Watchpoint work in progress: add helper methods to DNB arch impl for I386 to ↵Johnny Chen2011-08-313-48/+122
| | | | | | implment Enable/DisableHardwareWatchpoint. llvm-svn: 138847
* Watchpoint work in progress: add helper methods to DNB arch impl for X86_64 ↵Johnny Chen2011-08-313-44/+118
| | | | | | to implment Enable/DisableHardwareWatchpoint. llvm-svn: 138844
* Add stubs of incomplete watchpoint implementation with "FIXME" markers.Johnny Chen2011-08-305-6/+236
| | | | llvm-svn: 138790
* Added the debug registers for i386 and x86_64 in preparation for watchpoints.Greg Clayton2011-08-296-14/+104
| | | | llvm-svn: 138770
* Remove an extra break statement.Johnny Chen2011-08-291-2/+0
| | | | llvm-svn: 138763
* Bumped Xcode project versions for lldb-73 and debugserver-144.Greg Clayton2011-08-161-6/+6
| | | | llvm-svn: 137782
* Bumped Xcode project versions for lldb-72 and debugserver-143.Greg Clayton2011-08-131-6/+6
| | | | llvm-svn: 137547
* To silence the static analyzer.Johnny Chen2011-08-111-1/+1
| | | | llvm-svn: 137326
* To silence the static analyzer.Johnny Chen2011-08-111-1/+1
| | | | llvm-svn: 137319
* Incremental fixes of issues found by Xcode static analyzer.Johnny Chen2011-08-111-2/+1
| | | | llvm-svn: 137288
* In the case where we are trying to resume a thread all the way to 0, if we getJim Ingham2011-08-111-1/+3
| | | | llvm-svn: 137287
* Ignore the static analyzer, instead; and add comment why.Johnny Chen2011-08-101-2/+2
| | | | llvm-svn: 137275
* Incremental fixes of issues found by Xcode static analyzer.Johnny Chen2011-08-102-2/+3
| | | | llvm-svn: 137267
* Fixed a problem where the HasAVX() code inSean Callanan2011-08-093-16/+20
| | | | | | | | debugserver did not back up %ebx/%rbx, even though it was being clobbered by the CPUID instruction. llvm-svn: 137131
* The "bool HasAVX()" function doesn't backup and restore theGreg Clayton2011-08-092-0/+14
| | | | | | | | cpu registers it uses and it crashes the release version of debugserver. We just get lucky in Debug builds. Until this is fixed I am disabling AVX detection to avoid the crashes. llvm-svn: 137113
* Added some logging and did some member renaming.Greg Clayton2011-08-092-46/+57
| | | | llvm-svn: 137112
* Update Xcode project versions to lldb-70 and debugserver-142.Greg Clayton2011-08-011-6/+6
| | | | llvm-svn: 136606
* RNBRemote.cpp, RNBRemote.h: Add a new qGetPid packet which returnsJason Molenda2011-07-262-0/+18
| | | | | | | | | | | | | | | the pid of the process currently being debugged by debugserer in hex, or 0 if unavailable. This is effectively the same as the qC packet but that packet is not clear in either its documentation or implementation (in gdb et al) as to whether it is intended to return a pid or a thread id. qGetPid is unambiguous. If qGetPid is unimplemented in the remote debugserver, the debugger may try qC and see what kind of value is returned.. llvm-svn: 136055
* If we are telling only one thread to run in debugserver, and that thread has ↵Jim Ingham2011-07-213-31/+99
| | | | | | | | been suspended from outside the debugger, resume it before running so we will actually make progress. llvm-svn: 135655
* Added support for dynamic detection of AVX, andSean Callanan2011-07-167-16/+83
| | | | | | | | | | | | | | | | | | | | fixed a few bugs that revealed. Now the "register read" command should show AVX registers (ymm0-ymm15) on Mac OS X platforms that support them. When testing this on Mac OS X, run debugserver manually, like this: debugserver --native-regs localhost:1111 /path/to/executable Then lldb /path/to/executable ... (lldb) process connect connect://localhost:1111 llvm-svn: 135331
* Added the ability to see block variables when looking up addressesGreg Clayton2011-07-111-7/+7
| | | | | | | | | | | | with the "target modules lookup --address <addr>" command. The variable ID's, names, types, location for the address, and declaration is displayed. This can really help with crash logs since we get, on MacOSX at least, the registers for the thread that crashed so it is often possible to figure out some of the variable contents. llvm-svn: 134886
* Handle the possible case where the process launch failedJason Molenda2011-07-081-1/+7
| | | | | | but we don't have an error message. llvm-svn: 134662
* Bump Xcode project version to lldb-66 and debugserver-141.Greg Clayton2011-07-011-6/+6
| | | | llvm-svn: 134232
* Bumped Xcode project versions to lldb-65 and debugserver-140.Greg Clayton2011-06-251-6/+6
| | | | llvm-svn: 133865
* Add support for a QEnvironmentHexEncoded packet which takes itsJason Molenda2011-06-252-0/+50
| | | | | | | | | arguments in hex-encoded form instead of the old QEnvironment packet which takes them as plain-text strings. Environment variables containing remote protocol special chars like '#' would fail to set with QEnvironment. llvm-svn: 133857
* Don't codesign with lldb_codesign for non MacOSX SDKs.Greg Clayton2011-06-031-4/+4
| | | | llvm-svn: 132597
* lldb-56 with codesign settings fixed in the Xcode projects.Greg Clayton2011-05-261-15/+4
| | | | llvm-svn: 132123
* Bumping Xcode project versions for lldb-55 and debugserver-139.Greg Clayton2011-05-251-6/+6
| | | | llvm-svn: 132067
* Fixed an issue in the EmulateInstructionARM there the IT opcode was trying toGreg Clayton2011-05-233-3/+48
| | | | | | | | | | | | | | | | | | | | | | | | parse NOP instructions. I added the new table entries for the NOP for the plain NOP, Yield, WFE, WFI, and SEV variants. Modified the opcode emulation function EmulateInstructionARM::EmulateMOVRdSP(...) to notify us when it is creating a frame. Also added an abtract way to detect the frame pointer register for both the standard ARM ABI and for Darwin. Fixed GDBRemoteRegisterContext::WriteAllRegisterValues(...) to correctly be able to individually write register values back if case the 'G' packet is not implemented or returns an error. Modified the StopInfoMachException to "trace" stop reasons. On ARM we currently use the BVR/BCR register pairs to say "stop when the PC is not equal to the current PC value", and this results in a EXC_BREAKPOINT mach exception that has 0x102 in the code. Modified debugserver to create the short option string from long option definitions to make sure it doesn't get out of date. The short option string was missing many of the newer short option values due to a modification of the long options defs, and not modifying the short option string. llvm-svn: 131911
OpenPOWER on IntegriCloud