OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/debug/stack_trace.h" | 5 #include "base/debug/stack_trace.h" |
6 | 6 |
7 #include <algorithm> | |
8 #include <string.h> | |
9 | |
7 namespace base { | 10 namespace base { |
8 namespace debug { | 11 namespace debug { |
9 | 12 |
13 StackTrace::StackTrace(const void* const* trace, int count) { | |
14 count = std::min(count, kMaxTraces); | |
Scott Hess - ex-Googler
2011/08/27 05:15:40
OK, so weird one ... on my 10.6 machine at work ru
Scott Hess - ex-Googler
2011/08/27 05:44:49
http://en.wikipedia.org/wiki/One_Definition_Rule#D
Mark Mentovai
2011/08/28 15:40:01
I know that you found an answer to your question,
Scott Hess - ex-Googler
2011/08/29 20:13:36
Unfortunately, the code still has to set |count_|
| |
15 if (count) | |
16 memcpy(trace_, trace, count * sizeof(trace[0])); | |
17 count_ = count; | |
18 } | |
19 | |
10 StackTrace::~StackTrace() { | 20 StackTrace::~StackTrace() { |
11 } | 21 } |
12 | 22 |
13 const void *const *StackTrace::Addresses(size_t* count) const { | 23 const void *const *StackTrace::Addresses(size_t* count) const { |
14 *count = count_; | 24 *count = count_; |
15 if (count_) | 25 if (count_) |
16 return trace_; | 26 return trace_; |
17 return NULL; | 27 return NULL; |
18 } | 28 } |
19 | 29 |
20 } // namespace debug | 30 } // namespace debug |
21 } // namespace base | 31 } // namespace base |
OLD | NEW |