summaryrefslogtreecommitdiffstats
path: root/base/debug_util.h
Commit message (Collapse)AuthorAgeFilesLines
* Move debug-related stuff from base to the base/debug directory and use thebrettw@chromium.org2010-10-261-65/+5
| | | | | | | | | | | | | | | | base::debug namespace. This splits apart debug_util into base/debugger and base/stack_trace There are still two functions in debug_util that I'm not sure what to do with. Since this uses the base::debug namespace, I removed the functions in debugger.h from the static class and just made them free functions in the namespace. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3945002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63859 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 61269 (broke lots of browser and ui tests, like on your try run) - ↵thakis@chromium.org2010-10-021-3/+0
| | | | | | | | | | | | | | | | [GTK] delay reference count check in OwnedWidgetGtk It's a common problem that a GtkWidget will be referenced by an event that's currently on the callstack. These ref holders ignore the "destroy" signal, so when we go to destroy the owned widget, the refcount == 1 DCHECK fails. This change delays that DCHECK until the current stack has unwound, so we don't have to keep running into this. BUG=none TEST=in debug builds, Escape in a constrained window doesn't DCHECK, dragging a tab doesn't cause a DCHECK, pressing the custom frame [x] in lucid doesn't DCHECK; in general, no additional DCHECKs Review URL: http://codereview.chromium.org/3416032 TBR=estade@chromium.org Review URL: http://codereview.chromium.org/3564007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61283 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 61272 - Fix windows build (missing include).thakis@chromium.org2010-10-021-1/+0
| | | | | | | | | | | | | TBR=thakis BUG=none TEST=compile Review URL: http://codereview.chromium.org/3533011 TBR=estade@chromium.org Review URL: http://codereview.chromium.org/3552006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61282 0039d316-1c4b-4281-b951-d872f2087c98
* Fix windows build (missing include).estade@chromium.org2010-10-021-0/+1
| | | | | | | | | | TBR=thakis BUG=none TEST=compile Review URL: http://codereview.chromium.org/3533011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61272 0039d316-1c4b-4281-b951-d872f2087c98
* [GTK] delay reference count check in OwnedWidgetGtkestade@chromium.org2010-10-021-0/+3
| | | | | | | | | | | It's a common problem that a GtkWidget will be referenced by an event that's currently on the callstack. These ref holders ignore the "destroy" signal, so when we go to destroy the owned widget, the refcount == 1 DCHECK fails. This change delays that DCHECK until the current stack has unwound, so we don't have to keep running into this. BUG=none TEST=in debug builds, Escape in a constrained window doesn't DCHECK, dragging a tab doesn't cause a DCHECK, pressing the custom frame [x] in lucid doesn't DCHECK; in general, no additional DCHECKs Review URL: http://codereview.chromium.org/3416032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61269 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unneeded #includes of <string> and <vector> from src/app and ↵viettrungluu@chromium.org2010-08-141-2/+1
| | | | | | | | | | | src/base. BUG=none TEST=builds Review URL: http://codereview.chromium.org/3173020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56144 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-261-0/+1
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up suppressing error dialogs for buildbots.phajdan.jr@chromium.org2010-05-041-0/+10
| | | | | | | | | | | | - also suppress dialogs caused by __debugbreak on Windows - avoid bad interactions with gtest (they cause odd problems, really) TEST=none BUG=29997 Review URL: http://codereview.chromium.org/1867001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46343 0039d316-1c4b-4281-b951-d872f2087c98
* Trim the list of signals used by debug_util::DisableOSCrashDumps() on Mac.mark@chromium.org2009-10-121-6/+4
| | | | | | | | | | | | | | | | | | The list was too long and was catching signals corresponding to Mach exceptions that Apple Crash Reporter never attempts to catch, and signals that don't even map to Mach exceptions. The default signal handlers are fine in these cases. BUG=24568 TEST=Crash reporting still disabled when appropriate (see chrome/app/chrome_dll_main.cc and the comment before DisableOSCrashDumps in ChromeMain) Specifically, with stats reporting disabled, about:crash should result in a sad tab but no silent crash report generated in ~/Library/Logs/CrashReporter Review URL: http://codereview.chromium.org/272025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28701 0039d316-1c4b-4281-b951-d872f2087c98
* Copy the leak callstacks onto the stack before crashing in ↵eroman@chromium.org2009-09-211-2/+4
| | | | | | | | | | LeakTracker::CheckForLeaks. This way if it is enabled in release builds, the mini-dump will contain the allocation stacktrace. Review URL: http://codereview.chromium.org/208001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26717 0039d316-1c4b-4281-b951-d872f2087c98
* Print stack trace on exception in unit tests on Windows.maruel@chromium.org2009-09-081-5/+21
| | | | | | | | | | Also remove std::vector<> from StackTrace to reduce heap usage during potential unstable execution. TEST=none BUG=http://crbug.com/20996 Review URL: http://codereview.chromium.org/201050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25685 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce header dependencies in base/phajdan.jr@chromium.org2009-06-031-1/+1
| | | | | | | | Also adds more explicit #includes for needed things. Review URL: http://codereview.chromium.org/118162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17479 0039d316-1c4b-4281-b951-d872f2087c98
* Print backtraces on FATAL log messages in debug mode.ajwong@chromium.org2009-04-241-3/+7
| | | | | | | | This provides basic support for looking up backtrace information on GNU libc systems and in Windows. The code is only enabled for FATAL log messages in debug mode. In a release build, it is unlikely that symbols will be available making the backtrace less useful. Review URL: http://codereview.chromium.org/62140 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14391 0039d316-1c4b-4281-b951-d872f2087c98
* posix: make ctl-C work within gdb for dropping to a console.evan@chromium.org2009-04-081-1/+1
| | | | | | | | See comment in commit for gory details. Review URL: http://codereview.chromium.org/53113 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13374 0039d316-1c4b-4281-b951-d872f2087c98
* Disable Native Crash reporting on OS X, till we enable Breakpad integration.jeremy@chromium.org2009-02-131-0/+10
| | | | | | See http://crbug.com/7652 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9757 0039d316-1c4b-4281-b951-d872f2087c98
* Some fixes to ease debugging of the renderer process on OS X.jeremy@chromium.org2009-02-051-0/+4
| | | | | | Review URL: http://codereview.chromium.org/21084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9225 0039d316-1c4b-4281-b951-d872f2087c98
* Add StackTrace debugging utility class.agl@chromium.org2009-01-161-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the moment, it only works on Linux, although it should be pretty easy to get it working on Mac with __builtin_return_address and __builtin_frame_address. It will mostly fail to resolve functions. Use this wrapper script: import os import sys import subprocess import re address = re.compile('.*\[(0x[0-9a-fA-F]{4,8})\].*') if __name__ == '__main__': p = subprocess.Popen(sys.argv[1:], stderr = subprocess.STDOUT, stdout = subprocess.PIPE) addr2line = subprocess.Popen(['addr2line', '-e', sys.argv[1], '-f', '-C', '-s'], stdout = subprocess.PIPE, stdin = subprocess.PIPE) for line in p.stdout.readlines(): m = address.match(line); if m is not None: addr2line.stdin.write(m.groups()[0] + '\n') function = addr2line.stdout.readline()[:-1] location = addr2line.stdout.readline()[:-1] sys.stdout.write('%s (%s)\n' % (function, location)) else: sys.stdout.write(line) Review URL: http://codereview.chromium.org/18303 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8218 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-241-28/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Make debug_util cross platform, adding BeingDebugged and BreakDebugger. Linuxdeanm@google.com2008-08-131-3/+13
| | | | | | | supported added, and Mac OSX left as a todo for the mac team. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@785 0039d316-1c4b-4281-b951-d872f2087c98
* Add base to the repository.initial.commit2008-07-261-0/+44
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8 0039d316-1c4b-4281-b951-d872f2087c98