Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(497)

Side by Side Diff: base/debug_util_posix.cc

Issue 495002: Changes to base/ from a combination of FreeBSD and OpenBSD patches. (Closed)
Patch Set: minor tweaks Created 11 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "build/build_config.h" 5 #include "build/build_config.h"
6 #include "base/debug_util.h" 6 #include "base/debug_util.h"
7 7
8 #include <errno.h> 8 #include <errno.h>
9 #include <fcntl.h> 9 #include <fcntl.h>
10 #include <stdio.h> 10 #include <stdio.h>
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 165
166 base::StringPiece::size_type pid_index = status.find(tracer); 166 base::StringPiece::size_type pid_index = status.find(tracer);
167 if (pid_index == base::StringPiece::npos) 167 if (pid_index == base::StringPiece::npos)
168 return false; 168 return false;
169 169
170 // Our pid is 0 without a debugger, assume this for any pid starting with 0. 170 // Our pid is 0 without a debugger, assume this for any pid starting with 0.
171 pid_index += tracer.size(); 171 pid_index += tracer.size();
172 return pid_index < status.size() && status[pid_index] != '0'; 172 return pid_index < status.size() && status[pid_index] != '0';
173 } 173 }
174 174
175 #endif // OS_LINUX 175 #elif defined(OS_FREEBSD)
176
177 bool DebugUtil::BeingDebugged() {
178 // TODO(benl): can we determine this under FreeBSD?
179 NOTIMPLEMENTED();
180 return false;
181 }
182
183 #endif
176 184
177 // static 185 // static
178 void DebugUtil::BreakDebugger() { 186 void DebugUtil::BreakDebugger() {
179 #if defined(ARCH_CPU_ARM_FAMILY) 187 #if defined(ARCH_CPU_ARM_FAMILY)
180 asm("bkpt 0"); 188 asm("bkpt 0");
181 #else 189 #else
182 asm("int3"); 190 asm("int3");
183 #endif 191 #endif
184 } 192 }
185 193
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 } 229 }
222 } else { 230 } else {
223 (*os) << "Backtrace:\n"; 231 (*os) << "Backtrace:\n";
224 for (int i = 0; i < count_; ++i) { 232 for (int i = 0; i < count_; ++i) {
225 std::string trace_symbol(trace_symbols.get()[i]); 233 std::string trace_symbol(trace_symbols.get()[i]);
226 DemangleSymbols(&trace_symbol); 234 DemangleSymbols(&trace_symbol);
227 (*os) << "\t" << trace_symbol << "\n"; 235 (*os) << "\t" << trace_symbol << "\n";
228 } 236 }
229 } 237 }
230 } 238 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698