HFSDebug Available for "Tiger"

I’ve just updated HFSDebug for Mac OS X 10.4 “Tiger”.

I think this is a pretty exciting update, even for something as unexciting as a “debugger”. The following primary changes have happened:

  1. hfsdebug now understands and displays the on-disk raw structures corresponding to HFS Plus extended attributes.
  2. In particular, hfsdebug can process Access Control Lists (ACLs) from scratch, and can display both the corresponding low-level data as well as the high-level semantical representation of that data.
  3. The old hfsdebug had a problem right from the very beginning: the problem showed up rarely, and was reported to me a handful of times within the last year. In the user-visible manifestation of this problem, hfsdebug would complain that it could not process a volume because a B-Tree node size was unacceptable (for example, too large). I think this is fixed now (but please let me know if you run into this again). The issue was that I had a particular block number calculation where a 64-bit result was expected, but because of a missing cast, the result was being truncated. Thus, whenever a B-Tree’s starting point was above the 4 GB boundary (not very common in practice), hfsdebug would look at the wrong data thinking it’s a B-Tree header. For those using Panther, hfsdebug-1.18 should fix this problem.

Note: This is a beta version. I say “beta” not as in “it would want to eat your disk” (this is a read-only debugger), but as in “it may be erroneous in its processing or displaying”. I’ve only spent about two hours updating it, and things look in order at the moment. Looks can be deceiving though! I would appreciate all bug reports.

Comments are closed.

All contents of this site, unless otherwise noted, are ©1994-2014 Amit Singh. All Rights Reserved.