History log of /external/lldb/source/lldb-log.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8c2c41ebe01681932affbfd5d8fbe582b887bb08 23-May-2013 Greg Clayton <gclayton@apple.com> Don't compare 4 characters on a 2 character string.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
e15e58facd4814a2be1cc1aa385e9f9125b92993 23-May-2013 Greg Clayton <gclayton@apple.com> Added a new "lldb" log channel named "os" for the OperatingSystem plug-ins to use.

Added logging for the OS plug-in python objects in OperatingSystemPython so we can see the python dictionary returned from the plug-in when logging is enabled.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182530 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
8b8a8303efbd6e8c4fa8224428c0c0f02db9d859 26-Apr-2013 Andrew Kaylor <andrew.kaylor@intel.com> Fixing lldb log list text for commands category

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
952e9dc874944fcdbbb224f3ec4fc2c859376f64 28-Mar-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13521159>

LLDB is crashing when logging is enabled from lldb-perf-clang. This has to do with the global destructor chain as the process and its threads are being torn down.

All logging channels now make one and only one instance that is kept in a global pointer which is never freed. This guarantees that logging can correctly continue as the process tears itself down.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
cbe61bd26db663fa3036866dc33315c6ffc37910 06-Feb-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13159777>

lldb was mmap'ing archive files once per .o file it loads, now it correctly shares the archive between modules.

LLDB was also always mapping entire contents of universal mach-o files, now it maps just the slice that is required.

Added a new logging channel for "lldb" called "mmap" to help track future regressions.

Modified the ObjectFile and ObjectContainer plugin interfaces to take a data offset along with the file offset and size so we can implement the correct caching and efficient reading of parts of files without mmap'ing the entire file like we used to.

The current implementation still keeps entire .a files mmaped (once) and entire slices from universal files mmaped to ensure that if a client builds their binaries during a debug session we don't lose our data and get corrupt object file info and debug info.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
8c6cf432039ef0c4dd2d10f98511438a4c204f4f 05-Dec-2012 Jason Molenda <jmolenda@apple.com> Add an LLDB_LOG_TARGET logging channel (log eanble lldb target).

Update the Target methods which can change the target log to this
channel.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
f737d372a9672c9feaedf4b2cd7b16e31357d38e 09-Oct-2012 Greg Clayton <gclayton@apple.com> Added a new "module" log channel which covers module creation, deletion, and common module list actions.

Also added a new option for "log enable" which is "--stack" which will print out a stack backtrace for each log line.

This was used to track down the leaking module issue I fixed last week.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
7aeed48580d388af7c496b9cb95b7ed7e34580cd 26-Apr-2012 Greg Clayton <gclayton@apple.com> Patch from Filipe Cabecinhas.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
6c530f2201be4788dedf3d5970399220fbd50b11 21-Feb-2012 Jim Ingham <jingham@apple.com> Add a logging mode that takes a callback and flush'es to that callback.
Also add SB API's to set this callback, and to enable the log channels.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
13d24fb1817faa7ccc4cfd799113ba1a2b8968eb 29-Jan-2012 Greg Clayton <gclayton@apple.com> Switching back to using std::tr1::shared_ptr. We originally switched away
due to RTTI worries since llvm and clang don't use RTTI, but I was able to
switch back with no issues as far as I can tell. Once the RTTI issue wasn't
an issue, we were looking for a way to properly track weak pointers to objects
to solve some of the threading issues we have been running into which naturally
led us back to std::tr1::weak_ptr. We also wanted the ability to make a shared
pointer from just a pointer, which is also easily solved using the
std::tr1::enable_shared_from_this class.

The main reason for this move back is so we can start properly having weak
references to objects. Currently a lldb_private::Thread class has a refrence
to its parent lldb_private::Process. This doesn't work well when we now hand
out a SBThread object that contains a shared pointer to a lldb_private::Thread
as this SBThread can be held onto by external clients and if they end up
using one of these objects we can easily crash.

So the next task is to start adopting std::tr1::weak_ptr where ever it makes
sense which we can do with lldb_private::Debugger, lldb_private::Target,
lldb_private::Process, lldb_private::Thread, lldb_private::StackFrame, and
many more objects now that they are no longer using intrusive ref counted
pointer objects (you can't do std::tr1::weak_ptr functionality with intrusive
pointers).



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
ed11c1ebc344458c2bc83aa5b0bf6b3d0e2ef987 30-Sep-2011 Greg Clayton <gclayton@apple.com> Fixed an issue where a lexical block or inlined function might have bad debug
information generated for it. Say we have a concrete function "foo" which
has inlined function "a" which calls another inlined function "b":

foo
1 {
2 {
a ()
3 {
b ()
4 {

}
}
}
}

Sometimes we see the compiler generate an address range in the DWARF for "foo"
(block 1 above) as say [0x1000-0x1100). Then the range for "a" is something
like [0x1050-0x1060) (note that it is correctly scoped within the "foo"
address range). And then we get "b" which is a child of "a", yet the debug
info says it has a range of [0x1060-0x1080) (not contained within "a"). We now
detect this issue when making our blocks and add an extra range to "a".

Also added a new "lldb" logging category named "symbol" where we can find out
about symbol file errors and warnings.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
dad26a854b57808fb6a6c0ae82a17f06f595d9cd 12-Sep-2011 Greg Clayton <gclayton@apple.com> Fixed the logging output to be done consistently across all plug-ins.
Added a new log category for DWARF called "aranges" to log the parsing
of address ranges.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
24c991cab6651b0f87809b033d971e6e5ca19c39 25-Aug-2011 Jason Molenda <jmolenda@apple.com> Include lldb/commands as a valid logging type in the
'log list' output.

Remove an extraneous \n from one of the lldb/commands
log line.

Add an lldb/commands log indicating whether the command
was successful or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138530 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
de4059f2f6a864f5af102a59b56602183b9239bd 22-Jul-2011 Enrico Granata <granata.enrico@gmail.com> some editing of data visualization error messages to make them more meaningful
debugging printfs() for data visualization turned into a meaningful log:
- introduced a new log category `types' in channel `lldb'


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
c446fe96fce3f8e20c61f6a7cec201d744415718 07-May-2011 Jim Ingham <jingham@apple.com> Deleted one too many characters...

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131041 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
7fbd29f88b001d5a770902c82010a85a1538be9e 06-May-2011 Jim Ingham <jingham@apple.com> Make the log message & setter match for "dyld/shlib". The "ListLogCategories" output should really be auto-generated from the settings so you can't make this sort of mistake...

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
d5f76bbe035329cb4270d1462bd052204228af94 04-Feb-2011 Greg Clayton <gclayton@apple.com> Patch to remove uses of non-standard strcasestr and replace then with
strncasecmp equivalents from Kirk Beitz.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
5d187e5495ee17f6763337a6ae28c2a7b07e4945 08-Jan-2011 Greg Clayton <gclayton@apple.com> Spelling changes applied from lldb_spelling.diffs from Bruce Mitchener.

Thanks Bruce!



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123083 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
44c841d68a439da13e3f170427675bff8c7f2731 07-Dec-2010 Caroline Tice <ctice@apple.com> - Fix alias-building & resolving to properly handle optional arguments for command options.
- Add logging for command resolution ('log enable lldb commands')
- Fix alias resolution to properly handle commands that take raw input (resolve the alias, but
don't muck up the raw arguments).

Net result: Among other things, 'expr' command can now take strings with escaped characters and
not have the command handling & alias resolution code muck up the escaped characters. E.g.
'expr printf ("\n\n\tHello there!")' should now work properly.


Not working yet: Creating aliases with raw input for commands that take raw input. Working on that.
e.g. 'command alias print_hi expr printf ("\n\tHi!")' does not work yet.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
990de7bb41d3afec6b789155408ff322187d8682 19-Nov-2010 Greg Clayton <gclayton@apple.com> Cleaned up code that wasn't using the Initialize and Terminate paradigm by
changing it to use it. There was an extra parameter added to the static
accessor global user settings controllers that wasn't needed. A bool was being
used as a parameter to the accessor just so it could be used to clean up
the global user settings controller which is now fixed by splitting up the
initialization into the "static void Class::Initialize()", access into the
"static UserSettingsControllerSP & Class::GetSettingsController()", and
cleanup into "static void Class::Terminate()".

Also added initialize and terminate calls to the logging code to avoid issues
when LLDB is shutting down. There were cases after the logging was switched
over to use shared pointers where we could crash if the global destructor
chain was being run and it causes the log to be destroyed and any any logging
occurred.




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
2ade6115e2aaf88cd90ccc8bf499108099bdeb86 10-Nov-2010 Caroline Tice <ctice@apple.com> Move the embedded Python interpreter onto a separate thread, to prevent
main thread from having to wait on it (which was causing some I/O
hangs).



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
e005f2ce03c489ebde9110678a29cbfe8488d5b4 06-Nov-2010 Greg Clayton <gclayton@apple.com> Modified all logging calls to hand out shared pointers to make sure we
don't crash if we disable logging when some code already has a copy of the
logger. Prior to this fix, logs were handed out as pointers and if they were
held onto while a log got disabled, then it could cause a crash. Now all logs
are handed out as shared pointers so this problem shouldn't happen anymore.
We are also using our new shared pointers that put the shared pointer count
and the object into the same allocation for a tad better performance.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
088c03e890cd6b7a28d532d141e83e87f1a7be94 05-Nov-2010 Jim Ingham <jingham@apple.com> Don't need both LIBLLDB_LOG_DYNAMIC_LOADER and LIBLLDB_LOG_SHLIB. Go with the former.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
9d2993d9b4663c02aaada6c1a887f348f43438cd 03-Nov-2010 Greg Clayton <gclayton@apple.com> Fixed shared library unloads when the unloaded library doesn't come off
the end of the list. We had an issue in the MacOSX dynamic loader where if
we had shlibs:
1 - a.out
2 - a.dylib
3 - b.dylib

And then a.dylib got unloaded, we would unload b.dylib due to the assumption
that only shared libraries could come off the end of the list. We now properly
search and find which ones get loaded.

Added a new internal logging category for the "lldb" log channel named "dyld".
This should allow all dynamic loaders to use this as a generic log channel so
we can track shared library loads and unloads in the logs without having to
have each plug-in make up its own logging channel.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
926060e198137f8a64face70455324a8cd4362a5 29-Oct-2010 Caroline Tice <ctice@apple.com> Add the ability to disable individual log categories, rather
than just the entire log channel.

Add checks, where appropriate, to make sure a log channel/category has
not been disabled before attempting to write to it.




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
f3d0b0c8081691128626eb496fdfcbf8ae54c1de 27-Oct-2010 Greg Clayton <gclayton@apple.com> Updated the lldb_private::Flags class to have better method names and made
all of the calls inlined in the header file for better performance.

Fixed the summary for C string types (array of chars (with any combo if
modifiers), and pointers to chars) work in all cases.

Fixed an issue where a forward declaration to a clang type could cause itself
to resolve itself more than once if, during the resolving of the type itself
it caused something to try and resolve itself again. We now remove the clang
type from the forward declaration map in the DWARF parser when we start to
resolve it and avoid this additional call. This should stop any duplicate
members from appearing and throwing all the alignment of structs, unions and
classes.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
7826c8894803dc729f29789ebc038956a94d3e7a 26-Oct-2010 Caroline Tice <ctice@apple.com> First pass at adding logging capabilities for the API functions. At the moment
it logs the function calls, their arguments and the return values. This is not
complete or polished, but I am committing it now, at the request of someone who
really wants to use it, even though it's not really done. It currently does not
attempt to log all the functions, just the most important ones. I will be
making further adjustments to the API logging code over the next few days/weeks.
(Suggestions for improvements are welcome).


Update the Python build scripts to re-build the swig C++ file whenever
the python-extensions.swig file is modified.

Correct the help for 'log enable' command (give it the correct number & type of
arguments).




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
8280cbe80c79bc206335831dd732e0f9fb69c519 25-Oct-2010 Jason Molenda <jmolenda@apple.com> Check in the native lldb unwinder.

Not yet enabled as the default unwinder but there are no known
backtrace problems with the code at this point.

Added 'log enable lldb unwind' to help diagnose backtrace problems;
this output needs a little refining but it's a good first step.

eh_frame information is currently read unconditionally - the code
is structured to allow this to be delayed until it's actually needed.
There is a performance hit when you have to parse the eh_frame
information for any largeish executable/library so it's necessary
to avoid if possible.

It's confusing having both the UnwindPlan::RegisterLocation struct
and the RegisterConextLLDB::RegisterLocation struct, I need to rename
one of them.

The writing of registers isn't done in the RegisterConextLLDB subclass
yet; neither is the running of complex DWARF expressions from eh_frame
(e.g. used for _sigtramp on Mac OS X).



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
b0fff359652c7b3c0eb6fb6c37995e61e6cc652d 31-Aug-2010 Jim Ingham <jingham@apple.com> Add a "lldb host" logging channel, and put logging in the Host::OpenInExternalEditor code.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
84cdc15005983e5244d665fa779e33c2b6fac95f 15-Jun-2010 Jim Ingham <jingham@apple.com> Move Args.{cpp,h} and Options.{cpp,h} to Interpreter where they really belong.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@106034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
ce6fe885c2e30f5ac6e0c787cb571a01f9d41f85 10-Jun-2010 Eli Friedman <eli.friedman@gmail.com> Add missing include.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp
24943d2ee8bfaa7cf5893e4709143924157a5c1e 08-Jun-2010 Chris Lattner <sabre@nondot.org> Initial checkin of lldb code from internal Apple repo.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/lldb-log.cpp