Commit Graph

30079 Commits

Author SHA1 Message Date
Ingo Weinhold
90011666aa GetFunctions(): Ignore non-function symbols.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 16:43:07 +00:00
Ingo Weinhold
fa982a133f Added support for tree table model listeners (mutation events), selection, and
collapsing/expanding nodes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 16:41:46 +00:00
Ingo Weinhold
17a8a6f74b Made ScrollTo(BRow*) more useful. Now it only scrolls, if the row isn't fully
visible and it only scrolls as much as necessary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 16:39:42 +00:00
Axel Dörfler
e0965f2727 * reload_driver() now also checks if the binary node changed, and will update
the node listener, to make sure it won't lose track.
* The DriverWatcher now also listens for B_ENTRY_REMOVED. This causes drivers to
  be unpublished even if they are only symlinked.
* However, to detect new drivers in a symlinked location, we'd need special
  support for those, and also need to watch the parent directory of the symlink
  target - this is close to overkill, so I stayed away from implementing that
  for now :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 14:24:55 +00:00
Ingo Weinhold
95917e07d0 * Fixed gcc3+ demangling. demangle_name_gcc3() already demangles the name
completely, including parameters.
* Whitespace cleanup.
* Coding style fixes.
* Keep variables as local as possible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 14:23:47 +00:00
Philippe Houdoin
9a9e660b03 Coding style cleanup, take 2.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 13:19:18 +00:00
Joachim Seemer
a9254f5462 As scottmc pointed out, there's no need for a two track cd anymore, which simplifies things. Updated ReadMe accordingly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 05:55:16 +00:00
Philippe Houdoin
a71dfdd88c Rollback to use demangle_name_gcc3() for gcc3+ to get qualified method demangling.
+ Cleanup coding style violations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 23:23:02 +00:00
Oliver Tappe
d157bf8522 [the first commit of this fix was applied to the 32bit-wchar_t-branch instead
of trunk]
Fixed a bug exposed by changes in the locale kit branch:
* the signature of stringbuf::setbuf() wasn't matching the one from streambuf,
  which caused the base version to be hidden instead of overridden - leading
  to crashes during cleanup of stringstream objects

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 21:54:46 +00:00
Michael Lotz
b5aac499d5 * Cleanup.
* The active fat field is valid if fats aren't mirrored, not the other way
  around.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 15:55:04 +00:00
Ingo Weinhold
6fb6551c97 * ThreadHandler::_ClearContinuationState(): Forgot to set fStepStatement to
NULL after releasing its reference, so it could be released again later.
* No longer attach the source code to StackFrame, but rather to
  FunctionDebugInfo. Besides being the more obvious place it also prevents
  un-/reloading the source code when stepping. Only disadvantage is that we
  never unload the source again yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 15:11:56 +00:00
Axel Dörfler
66ae5b2d99 * The block allocator will no longer try to fix a missing allocation on a
read-only volume. This fixes bug #3432.
* Journal::ReplayLog() will now return an error on a read-only device, rendering
  read-only dirty volumes unmountable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 15:03:42 +00:00
Axel Dörfler
5e08815985 * Allow more waste on index directories.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 14:54:54 +00:00
Axel Dörfler
c1b4d0ecc5 * Directories now only preallocate 4 KB.
* Reworked how preallocations are chosen, and also take the grow rate into
  account.
* Also, the preallocation is now rounded to the next multiple of the
  preallocation size (previously, a 64K write would only allocate 64K).
* This should also close bug #2573.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 14:49:48 +00:00
Axel Dörfler
2dbad0651e * Fixed two bugs in CheckBlocks(), might help with bug #4042.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 13:47:13 +00:00
Ingo Weinhold
125e089e1a ImageDebugInfo does now gather function debug infos from all available sources
on init, keeping the most expressive one for each function. The interface
changed accordingly, i.e. it is now possible to iterate through the functions
and FindFunction() is now called FunctionAtAddress(), not returning a reference
anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 13:12:06 +00:00
Axel Dörfler
7f5bbbdc56 * Removed PI, and PI2 from math.h.
* Replaced all occurences with the standard macros M_PI, and M_PI_2.
* Some coding style cleanup on the touched files, no other changes besides
  adding a missing check for a failed memory allocation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 11:58:43 +00:00
Ingo Weinhold
29aec87efb Patch by Bryce Groff with small style changes by myself: Scale the values for
the partition size slider to MBs, so that the int32 doesn't overflow for larger
partitions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 11:11:57 +00:00
Axel Dörfler
3e69a3c24a * BFS allocated always full allocation groups in the bitmap, even if the last
group was a partial one. This caused bug #3963 (Be's BFS didn't do that).
* Added new BlockAllocator::CheckBlocks() that does not depend on allocation
  group limits - this fixes the problematic check in
  BlockAllocator::_Initialize() to see if the super block, the block bitmap,
  and the log area are all allocated - this only worked if they all fit into
  the first allocation group (which happens only with partitions with more
  than 1 billion blocks, ie. 2 TB would already be problematic with a 2K block
  size).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 09:36:17 +00:00
Axel Dörfler
1b5bab63e5 * Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 08:57:36 +00:00
Ingo Weinhold
1c6fd17f75 Pulled interface TeamMemory out of DebuggerInterface to make the arch and model
packages indepent of the latter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 00:39:23 +00:00
Ingo Weinhold
0f5f9d47b9 Allow calling with NULL _isObjectMethod parameter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 00:37:34 +00:00
Ingo Weinhold
43b0f7e0d7 * Moved breakpoint management into new class BreakpointManager and added
support for temporary breakpoints.
* TeamDebugger: No longer handle debug events in the listener thread. Instead
  post a message to the looper thread. Makes the locking a bit easier.
* Architecture: Added virtual GetInstructionInfo() and GetStatement() returning
  information on the instruction respectively a statement at a given address.
  Implemented for x86.
* DebugInfo: Added virtual GetStatement() and implemented it for
  DebuggerDebugInfo by means of using the Architecture.
* Implemented step over/into/out support. Works in principle, but has no
  handling for PLTs yet, i.e. stepping into functions of other libraries
  requires two steps ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 23:51:09 +00:00
Philippe Houdoin
1a90a58f48 Reuse KDL demangler module demangle_symbol() and get_next_argument() to
improve userland Debugger arguments demangling support: 
now with argument name and/or type, when available.

I hope I didn't break coding guideline doing so.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 22:49:07 +00:00
Fredrik Modeen
6f2bdd6354 Moved files not used by VS2008 think they are used by VS2002 or can be removed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 20:09:12 +00:00
Fredrik Modeen
c50a2db0af added some files I missed..
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 20:07:23 +00:00
Fredrik Modeen
fda5049123 Ticket #2547 can now be closed. this makes all the Windows parts of BeServed build in VS2008.
As Olivier Coursière wrote in the ticket/Patch he did.
To install
copy the control panel application in the c:\windows\system32 directory 
run "BeServerd.exe -install" from the command line to install BeServed as a Windows service.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 19:56:19 +00:00
Fredrik Modeen
a555f61b61 Moved files not used by VS2008 think they are used by VS2002 or can be removed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31239 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 19:05:29 +00:00
Axel Dörfler
65b5dd5064 * DatagramSocket::InitCheck() returned the sem_id instead of a status_t, causing
pings to fail (raw socket initialization) after r31079.
* Further cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 16:01:11 +00:00
Ingo Weinhold
dc59ebe78b Patch by Bryce Groff with small changes by myself: Implemented partition
creation (ATM BFS only) and deletion.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 15:44:17 +00:00
Ingo Weinhold
6eb9c264e7 Patch by Bryce Groff with changes by myself:
CreateChild():
* Added missing creation and initialization of the child's fData.
* Name and parameters were set on the parent, not the child.
* Fixed leak on error.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 15:41:11 +00:00
Ingo Weinhold
89175c4c50 Patch by Bryce Groff: Implemented DeleteChild().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 15:35:59 +00:00
Ingo Weinhold
5afb8ea7d7 Patch by Bryce Groff: Implemented DeleteChild().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31234 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 15:35:16 +00:00
Philippe Houdoin
3b11679508 Add gcc2 demangling.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-25 07:58:51 +00:00
Ingo Weinhold
823e8a80f7 Recognize non-frameless functions and deal with situations where the instruction
pointer is before/in the prologue or after the epilogue. No solution for
frameless functions yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 23:38:29 +00:00
Fredrik Modeen
beadef3853 Added VS2008 Project and sln (don't work with Express)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 23:14:10 +00:00
Fredrik Modeen
15773a7d63 Remove unwanted code, backup, files named old (when same exist but without old), suo files are changed and created when windows project are opened
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 22:32:57 +00:00
Ingo Weinhold
2460bf468b * Changes that should already have been part of r31228: StackFrame and
SourceView.
* Fixed the information flow problem in Architecture::CreateStackTrace()/
  ArchitectureX86::UpdateStackCpuState() by introducing a virtual
  UpdateStackFrameCpuState() which allows the architecture to update the CPU
  state it generated before after the function the state belongs to is known.
  That's where moving the instruction pointer to the previous instruction
  happens now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 22:10:07 +00:00
Ingo Weinhold
840c76534f * Added StackFrame classification as syscall frame and added correct
identification for x86.
* For non-top stack frames adjust the instruction pointer so that it points to
  the calling function instead of the return address.
* SourceView: Consider a syscall frame a non-top frame (the arrow is drawn
  differently).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31228 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 16:37:11 +00:00
Stephan Aßmus
224fb9cf6e Fixed the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31227 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 14:59:12 +00:00
Ingo Weinhold
fab1c05c05 Split the commpage initialization into two parts. The second part is executed
after all CPUs have been queried for their features. On SMP machines
sysenter/sysexit weren't used before due to the non-boot CPUs appearing not
to have the feature.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 13:53:58 +00:00
Ingo Weinhold
ed832ef623 Correctly unset the objects we know. We don't only need to release the
references to them, but also unregister as listener.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 12:36:14 +00:00
Ingo Weinhold
9a6d65aaed Quit the window on destruction.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 12:34:48 +00:00
Ingo Weinhold
6a1f462e72 * arch_debug_get_interrupt_pc() does now optionally return whether the iframe
is a syscall iframe.
* User debugger support: Don't to call BreakpointManager::PrepareToContinue(),
  if the thread returns from a syscall. We don't want to skip breakpoints in
  that case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 11:49:35 +00:00
Axel Dörfler
3836be3e80 * Reworked GetKey() after Marcus' suggestions. Thanks for the extra motivation
to work on this :-)
* Also made it return "false" if there was no mapping, which will prevent empty
  dead keys to be written now (ie. the output now looks exactly like our
  sources).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31222 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 09:00:22 +00:00
Ingo Weinhold
194b3b719a * Moved all handling of threads from TeamDebugger into new class ThreadHandler.
* Added new job to get the initial state of a thread.
* Now we also get the states of new threads correctly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 01:46:38 +00:00
Ingo Weinhold
74558e1c42 Renamed the "Stop" button to "Debug" to avoid confusion.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 00:25:21 +00:00
Ingo Weinhold
719f89b06e Fixed the application quit mechanism. Due to the two levels of asynchronous
message sending the main thread exit()ed before the team debugger could process
its quit message. We're no longer taking the detour via Debugger when quitting
a window. The team debugger just quits and synchronously notifies the
application, which in turn waits until all team debugger threads have gone.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-24 00:16:22 +00:00
Ingo Weinhold
fef6a27d78 * Moved killing/resuming the team to DebuggerInterface::Close().
* Made the TeamDebugger safer for the case that the initialization failed early.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 23:09:36 +00:00
Ingo Weinhold
e951f678c2 Moved message code where it belongs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 22:29:15 +00:00