Make SourceLineResolver use RangeMap (#13). r=bryner
- Eliminate MemAddrMap from source_line_resolver.cc and adapt it to use RangeMap, also used by minidump.cc. - RangeMap operates on both a base address and a size, where MemAddrMap only used a base address, so the dumped symbol file format is modified to include size information. dump_syms produces these files and SourceLineResolver consumes them. - Provide updated test data conforming to the new dumped symbol format. http://groups.google.com/group/airbag-dev/browse_thread/thread/e9403cf3ad6336a1 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@21 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
		| @@ -41,6 +41,7 @@ src_libairbag_la_SOURCES = \ | ||||
| 	src/google/stack_frame.h \ | ||||
| 	src/google/symbol_supplier.h \ | ||||
| 	src/processor/crash_report_processor.cc \ | ||||
| 	src/processor/linked_ptr.h \ | ||||
| 	src/processor/memory_region.h \ | ||||
| 	src/processor/minidump.cc \ | ||||
| 	src/processor/minidump.h \ | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| # Makefile.in generated by automake 1.9.5 from Makefile.am. | ||||
| # Makefile.in generated by automake 1.9.6 from Makefile.am. | ||||
| # @configure_input@ | ||||
|  | ||||
| # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, | ||||
| @@ -31,8 +31,6 @@ | ||||
|  | ||||
|  | ||||
|  | ||||
| SOURCES = $(src_libairbag_la_SOURCES) $(src_processor_crash_report_processor_unittest_SOURCES) $(src_processor_minidump_dump_SOURCES) $(src_processor_minidump_stackwalk_SOURCES) $(src_processor_range_map_unittest_SOURCES) $(src_processor_source_line_resolver_unittest_SOURCES) | ||||
|  | ||||
| srcdir = @srcdir@ | ||||
| top_srcdir = @top_srcdir@ | ||||
| VPATH = @srcdir@ | ||||
| @@ -293,6 +291,7 @@ src_libairbag_la_SOURCES = \ | ||||
| 	src/google/stack_frame.h \ | ||||
| 	src/google/symbol_supplier.h \ | ||||
| 	src/processor/crash_report_processor.cc \ | ||||
| 	src/processor/linked_ptr.h \ | ||||
| 	src/processor/memory_region.h \ | ||||
| 	src/processor/minidump.cc \ | ||||
| 	src/processor/minidump.h \ | ||||
|   | ||||
							
								
								
									
										1465
									
								
								aclocal.m4
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1465
									
								
								aclocal.m4
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										174
									
								
								src/processor/linked_ptr.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										174
									
								
								src/processor/linked_ptr.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,174 @@ | ||||
| // Copyright (C) 2006 Google Inc. | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| //     http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
|  | ||||
| // A "smart" pointer type with reference tracking.  Every pointer to a | ||||
| // particular object is kept on a circular linked list.  When the last pointer | ||||
| // to an object is destroyed or reassigned, the object is deleted. | ||||
| // | ||||
| // Used properly, this deletes the object when the last reference goes away. | ||||
| // There are several caveats: | ||||
| // - Like all reference counting schemes, cycles lead to leaks. | ||||
| // - Each smart pointer is actually two pointers (8 bytes instead of 4). | ||||
| // - Every time a pointer is assigned, the entire list of pointers to that | ||||
| //   object is traversed.  This class is therefore NOT SUITABLE when there | ||||
| //   will often be more than two or three pointers to a particular object. | ||||
| // - References are only tracked as long as linked_ptr<> objects are copied. | ||||
| //   If a linked_ptr<> is converted to a raw pointer and back, BAD THINGS | ||||
| //   will happen (double deletion). | ||||
| // | ||||
| // A good use of this class is storing object references in STL containers. | ||||
| // You can safely put linked_ptr<> in a vector<>. | ||||
| // Other uses may not be as good. | ||||
| // | ||||
| // Note: If you use an incomplete type with linked_ptr<>, the class | ||||
| // *containing* linked_ptr<> must have a constructor and destructor (even | ||||
| // if they do nothing!). | ||||
|  | ||||
| #ifndef PROCESSOR_LINKED_PTR_H__ | ||||
| #define PROCESSOR_LINKED_PTR_H__ | ||||
|  | ||||
| // This is used internally by all instances of linked_ptr<>.  It needs to be | ||||
| // a non-template class because different types of linked_ptr<> can refer to | ||||
| // the same object (linked_ptr<Superclass>(obj) vs linked_ptr<Subclass>(obj)). | ||||
| // So, it needs to be possible for different types of linked_ptr to participate | ||||
| // in the same circular linked list, so we need a single class type here. | ||||
| // | ||||
| // DO NOT USE THIS CLASS DIRECTLY YOURSELF.  Use linked_ptr<T>. | ||||
| class linked_ptr_internal { | ||||
|  public: | ||||
|   // Create a new circle that includes only this instance. | ||||
|   void join_new() { | ||||
|     next_ = this; | ||||
|   } | ||||
|  | ||||
|   // Join an existing circle. | ||||
|   void join(linked_ptr_internal const* ptr) { | ||||
|     linked_ptr_internal const* p = ptr; | ||||
|     while (p->next_ != ptr) p = p->next_; | ||||
|     p->next_ = this; | ||||
|     next_ = ptr; | ||||
|   } | ||||
|  | ||||
|   // Leave whatever circle we're part of.  Returns true iff we were the | ||||
|   // last member of the circle.  Once this is done, you can join() another. | ||||
|   bool depart() { | ||||
|     if (next_ == this) return true; | ||||
|     linked_ptr_internal const* p = next_; | ||||
|     while (p->next_ != this) p = p->next_; | ||||
|     p->next_ = next_; | ||||
|     return false; | ||||
|   } | ||||
|  | ||||
|  private: | ||||
|   mutable linked_ptr_internal const* next_; | ||||
| }; | ||||
|  | ||||
| template <typename T> | ||||
| class linked_ptr { | ||||
|  public: | ||||
|   typedef T element_type; | ||||
|  | ||||
|   // Take over ownership of a raw pointer.  This should happen as soon as | ||||
|   // possible after the object is created. | ||||
|   explicit linked_ptr(T* ptr = NULL) { capture(ptr); } | ||||
|   ~linked_ptr() { depart(); } | ||||
|  | ||||
|   // Copy an existing linked_ptr<>, adding ourselves to the list of references. | ||||
|   template <typename U> linked_ptr(linked_ptr<U> const& ptr) { copy(&ptr); } | ||||
|   linked_ptr(linked_ptr const& ptr) { copy(&ptr); } | ||||
|  | ||||
|   // Assignment releases the old value and acquires the new. | ||||
|   template <typename U> linked_ptr& operator=(linked_ptr<U> const& ptr) { | ||||
|     depart(); | ||||
|     copy(&ptr); | ||||
|     return *this; | ||||
|   } | ||||
|  | ||||
|   linked_ptr& operator=(linked_ptr const& ptr) { | ||||
|     if (&ptr != this) { | ||||
|       depart(); | ||||
|       copy(&ptr); | ||||
|     } | ||||
|     return *this; | ||||
|   } | ||||
|  | ||||
|   // Smart pointer members. | ||||
|   void reset(T* ptr = NULL) { depart(); capture(ptr); } | ||||
|   T* get() const { return value_; } | ||||
|   T* operator->() const { return value_; } | ||||
|   T& operator*() const { return *value_; } | ||||
|   // Release ownership of the pointed object and returns it. | ||||
|   // Sole ownership by this linked_ptr object is required. | ||||
|   T* release() { | ||||
|     bool last = link_.depart(); | ||||
|     T* v = value_; | ||||
|     value_ = NULL; | ||||
|     return v; | ||||
|   } | ||||
|  | ||||
|   bool operator==(T* p) const { return value_ == p; } | ||||
|   bool operator!=(T* p) const { return value_ != p; } | ||||
|   template <typename U> | ||||
|   bool operator==(linked_ptr<U> const& ptr) const { | ||||
|     return value_ == ptr.get(); | ||||
|   } | ||||
|   template <typename U> | ||||
|   bool operator!=(linked_ptr<U> const& ptr) const { | ||||
|     return value_ != ptr.get(); | ||||
|   } | ||||
|  | ||||
|  private: | ||||
|   template <typename U> | ||||
|   friend class linked_ptr; | ||||
|  | ||||
|   T* value_; | ||||
|   linked_ptr_internal link_; | ||||
|  | ||||
|   void depart() { | ||||
|     if (link_.depart()) delete value_; | ||||
|   } | ||||
|  | ||||
|   void capture(T* ptr) { | ||||
|     value_ = ptr; | ||||
|     link_.join_new(); | ||||
|   } | ||||
|  | ||||
|   template <typename U> void copy(linked_ptr<U> const* ptr) { | ||||
|     value_ = ptr->get(); | ||||
|     if (value_) | ||||
|       link_.join(&ptr->link_); | ||||
|     else | ||||
|       link_.join_new(); | ||||
|   } | ||||
| }; | ||||
|  | ||||
| template<typename T> inline | ||||
| bool operator==(T* ptr, const linked_ptr<T>& x) { | ||||
|   return ptr == x.get(); | ||||
| } | ||||
|  | ||||
| template<typename T> inline | ||||
| bool operator!=(T* ptr, const linked_ptr<T>& x) { | ||||
|   return ptr != x.get(); | ||||
| } | ||||
|  | ||||
| // A function to convert T* into linked_ptr<T> | ||||
| // Doing e.g. make_linked_ptr(new FooBarBaz<type>(arg)) is a shorter notation | ||||
| // for linked_ptr<FooBarBaz<type> >(new FooBarBaz<type>(arg)) | ||||
| template <typename T> | ||||
| linked_ptr<T> make_linked_ptr(T* ptr) { | ||||
|   return linked_ptr<T>(ptr); | ||||
| } | ||||
|  | ||||
| #endif // PROCESSOR_LINKED_PTR_H__ | ||||
| @@ -49,7 +49,7 @@ class RangeMap { | ||||
|  | ||||
|   // Locates the range encompassing the supplied address.  If there is | ||||
|   // no such range, or if there is a parameter error, returns false. | ||||
|   bool RetrieveRange(const AddressType& address, EntryType* entry); | ||||
|   bool RetrieveRange(const AddressType& address, EntryType* entry) const; | ||||
|  | ||||
|   // Empties the range map, restoring it to the state it was when it was | ||||
|   // initially created. | ||||
| @@ -125,7 +125,7 @@ bool RangeMap<AddressType, EntryType>::StoreRange(const AddressType& base, | ||||
| template<typename AddressType, typename EntryType> | ||||
| bool RangeMap<AddressType, EntryType>::RetrieveRange( | ||||
|     const AddressType& address, | ||||
|     EntryType*         entry) { | ||||
|     EntryType*         entry) const { | ||||
|   if (!entry) | ||||
|     return false; | ||||
|  | ||||
|   | ||||
| @@ -19,6 +19,8 @@ | ||||
| #include <utility> | ||||
| #include "processor/source_line_resolver.h" | ||||
| #include "google/stack_frame.h" | ||||
| #include "processor/linked_ptr.h" | ||||
| #include "processor/range_map.h" | ||||
|  | ||||
| using std::map; | ||||
| using std::vector; | ||||
| @@ -27,62 +29,29 @@ using __gnu_cxx::hash; | ||||
|  | ||||
| namespace google_airbag { | ||||
|  | ||||
| // MemAddrMap is a map subclass which has the following properties: | ||||
| //  - stores pointers to an "entry" type, which are deleted on destruction | ||||
| //  - suitable for address lookup via FindContainingEntry | ||||
|  | ||||
| template<class T> | ||||
| class SourceLineResolver::MemAddrMap : public map<MemAddr, T*> { | ||||
|  public: | ||||
|   ~MemAddrMap(); | ||||
|  | ||||
|   // Find the entry which "contains" a given relative address, that is, | ||||
|   // the entry with the highest address not greater than the given address. | ||||
|   // Returns NULL if there is no such entry. | ||||
|   T* FindContainingEntry(MemAddr address) const; | ||||
|  | ||||
|  private: | ||||
|   typedef map<MemAddr, T*> MapType; | ||||
| }; | ||||
|  | ||||
| template<class T> | ||||
| SourceLineResolver::MemAddrMap<T>::~MemAddrMap() { | ||||
|   typename MapType::iterator it; | ||||
|   for (it = MapType::begin(); it != MapType::end(); ++it) { | ||||
|     delete it->second; | ||||
|   } | ||||
| } | ||||
|  | ||||
| template<class T> | ||||
| T* SourceLineResolver::MemAddrMap<T>::FindContainingEntry( | ||||
|     MemAddr address) const { | ||||
|   typename MapType::const_iterator it = MapType::lower_bound(address); | ||||
|   if (it->first != address) { | ||||
|     if (it == MapType::begin()) { | ||||
|       // Nowhere to go, so no entry contains the address | ||||
|       return NULL; | ||||
|     } | ||||
|     --it;  // back up to the entry before address | ||||
|   } | ||||
|   return it->second; | ||||
| } | ||||
|  | ||||
| struct SourceLineResolver::Line { | ||||
|   Line(MemAddr addr, int file_id, int source_line) | ||||
|       : address(addr), source_file_id(file_id), line(source_line) { } | ||||
|   Line(MemAddr addr, MemAddr code_size, int file_id, int source_line) | ||||
|       : address(addr) | ||||
|       , size(code_size) | ||||
|       , source_file_id(file_id) | ||||
|       , line(source_line) { } | ||||
|  | ||||
|   MemAddr address; | ||||
|   MemAddr size; | ||||
|   int source_file_id; | ||||
|   int line; | ||||
| }; | ||||
|  | ||||
| struct SourceLineResolver::Function { | ||||
|   Function(const string &function_name, MemAddr function_address) | ||||
|       : name(function_name), address(function_address) { } | ||||
|   Function(const string &function_name, | ||||
|            MemAddr function_address, | ||||
|            MemAddr code_size) | ||||
|       : name(function_name), address(function_address), size(code_size) { } | ||||
|  | ||||
|   string name; | ||||
|   MemAddr address; | ||||
|   MemAddrMap<Line> lines; | ||||
|   MemAddr size; | ||||
|   RangeMap<MemAddr, linked_ptr<Line> > lines; | ||||
| }; | ||||
|  | ||||
| class SourceLineResolver::Module { | ||||
| @@ -111,7 +80,7 @@ class SourceLineResolver::Module { | ||||
|  | ||||
|   string name_; | ||||
|   FileMap files_; | ||||
|   MemAddrMap<Function> functions_; | ||||
|   RangeMap<MemAddr, linked_ptr<Function> > functions_; | ||||
| }; | ||||
|  | ||||
| SourceLineResolver::SourceLineResolver() : modules_(new ModuleMap) { | ||||
| @@ -166,7 +135,8 @@ bool SourceLineResolver::Module::LoadMap(const string &map_file) { | ||||
|       if (!cur_func) { | ||||
|         return false; | ||||
|       } | ||||
|       functions_.insert(make_pair(cur_func->address, cur_func)); | ||||
|       functions_.StoreRange(cur_func->address, cur_func->size, | ||||
|                             linked_ptr<Function>(cur_func)); | ||||
|     } else { | ||||
|       if (!cur_func) { | ||||
|         return false; | ||||
| @@ -175,7 +145,8 @@ bool SourceLineResolver::Module::LoadMap(const string &map_file) { | ||||
|       if (!line) { | ||||
|         return false; | ||||
|       } | ||||
|       cur_func->lines.insert(make_pair(line->address, line)); | ||||
|       cur_func->lines.StoreRange(line->address, line->size, | ||||
|                                  linked_ptr<Line>(line)); | ||||
|     } | ||||
|   } | ||||
|  | ||||
| @@ -185,14 +156,14 @@ bool SourceLineResolver::Module::LoadMap(const string &map_file) { | ||||
|  | ||||
| void SourceLineResolver::Module::LookupAddress(MemAddr address, | ||||
|                                                StackFrame *frame) const { | ||||
|   Function *func = functions_.FindContainingEntry(address); | ||||
|   if (!func) { | ||||
|   linked_ptr<Function> func; | ||||
|   if (!functions_.RetrieveRange(address, &func)) { | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   frame->function_name = func->name; | ||||
|   Line *line = func->lines.FindContainingEntry(address); | ||||
|   if (!line) { | ||||
|   linked_ptr<Line> line; | ||||
|   if (!func->lines.RetrieveRange(address, &line)) { | ||||
|     return; | ||||
|   } | ||||
|  | ||||
| @@ -231,12 +202,17 @@ SourceLineResolver::Function* SourceLineResolver::Module::ParseFunction( | ||||
|     return NULL; | ||||
|   } | ||||
|  | ||||
|   char *size = strtok(NULL, " "); | ||||
|   if (!size) { | ||||
|     return NULL; | ||||
|   } | ||||
|  | ||||
|   char *name = strtok(NULL, "\r\n"); | ||||
|   if (!name) { | ||||
|     return NULL; | ||||
|   } | ||||
|  | ||||
|   return new Function(name, strtoull(addr, NULL, 16)); | ||||
|   return new Function(name, strtoull(addr, NULL, 16), strtoull(size, NULL, 16)); | ||||
| } | ||||
|  | ||||
| SourceLineResolver::Line* SourceLineResolver::Module::ParseLine( | ||||
| @@ -247,6 +223,11 @@ SourceLineResolver::Line* SourceLineResolver::Module::ParseLine( | ||||
|     return NULL; | ||||
|   } | ||||
|  | ||||
|   char *size = strtok(NULL, " "); | ||||
|   if (!size) { | ||||
|     return NULL; | ||||
|   } | ||||
|  | ||||
|   char *line_num_str = strtok(NULL, "\r\n"); | ||||
|   if (!line_num_str) { | ||||
|     return NULL; | ||||
| @@ -257,7 +238,10 @@ SourceLineResolver::Line* SourceLineResolver::Module::ParseLine( | ||||
|     return NULL; | ||||
|   } | ||||
|  | ||||
|   return new Line(strtoull(addr, NULL, 16), source_file, line_number); | ||||
|   return new Line(strtoull(addr, NULL, 16), | ||||
|                   strtoull(size, NULL, 16), | ||||
|                   source_file, | ||||
|                   line_number); | ||||
| } | ||||
|  | ||||
| size_t SourceLineResolver::HashString::operator()(const string &s) const { | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								src/processor/testdata/minidump2.dmp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/processor/testdata/minidump2.dmp
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										13122
									
								
								src/processor/testdata/minidump2.sym
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13122
									
								
								src/processor/testdata/minidump2.sym
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										18
									
								
								src/processor/testdata/module1.out
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								src/processor/testdata/module1.out
									
									
									
									
										vendored
									
									
								
							| @@ -1,12 +1,12 @@ | ||||
| FILE 1 file1_1.cc | ||||
| FILE 2 file1_2.cc | ||||
| FILE 3 file1_3.cc | ||||
| FUNC 1000 Function1_1 | ||||
| 1000 44 1 | ||||
| 1004 45 1 | ||||
| 1008 46 1 | ||||
| FUNC 1100 Function1_2 | ||||
| 1100 65 2 | ||||
| 1104 66 2 | ||||
| FUNC 1200 Function1_3 | ||||
| FUNC 1300 Function1_4 | ||||
| FUNC 1000 c Function1_1 | ||||
| 1000 4 44 1 | ||||
| 1004 4 45 1 | ||||
| 1008 4 46 1 | ||||
| FUNC 1100 8 Function1_2 | ||||
| 1100 4 65 2 | ||||
| 1104 4 66 2 | ||||
| FUNC 1200 100 Function1_3 | ||||
| FUNC 1300 100 Function1_4 | ||||
|   | ||||
							
								
								
									
										18
									
								
								src/processor/testdata/module2.out
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								src/processor/testdata/module2.out
									
									
									
									
										vendored
									
									
								
							| @@ -1,12 +1,12 @@ | ||||
| FILE 1 file2_1.cc | ||||
| FILE 2 file2_2.cc | ||||
| FILE 3 file2_3.cc | ||||
| FUNC 2000 Function2_1 | ||||
| 1000 54 1 | ||||
| 1004 55 1 | ||||
| 1008 56 1 | ||||
| FUNC 2170 Function2_2 | ||||
| 2170 10 2 | ||||
| 2176 12 2 | ||||
| 217a 13 2 | ||||
| 2180 21 2 | ||||
| FUNC 2000 c Function2_1 | ||||
| 1000 4 54 1 | ||||
| 1004 4 55 1 | ||||
| 1008 4 56 1 | ||||
| FUNC 2170 14 Function2_2 | ||||
| 2170 6 10 2 | ||||
| 2176 4 12 2 | ||||
| 217a 6 13 2 | ||||
| 2180 4 21 2 | ||||
|   | ||||
| @@ -23,7 +23,7 @@ using std::wstring; | ||||
|  | ||||
| int main(int argc, char **argv) { | ||||
|   if (argc < 2) { | ||||
|     fprintf(stderr, "Usage: %s <pdb file>", argv[0]); | ||||
|     fprintf(stderr, "Usage: %s <pdb file>\n", argv[0]); | ||||
|     return 1; | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -65,6 +65,12 @@ bool PDBSourceLineWriter::PrintLines(IDiaEnumLineNumbers *lines) { | ||||
|       return false; | ||||
|     } | ||||
|  | ||||
|     DWORD length; | ||||
|     if (FAILED(line->get_length(&length))) { | ||||
|       fprintf(stderr, "failed to get line code length\n"); | ||||
|       return false; | ||||
|     } | ||||
|  | ||||
|     DWORD source_id; | ||||
|     if (FAILED(line->get_sourceFileId(&source_id))) { | ||||
|       fprintf(stderr, "failed to get line source file id\n"); | ||||
| @@ -77,7 +83,7 @@ bool PDBSourceLineWriter::PrintLines(IDiaEnumLineNumbers *lines) { | ||||
|       return false; | ||||
|     } | ||||
|  | ||||
|     fprintf(output_, "%x %d %d\n", rva, line_num, source_id); | ||||
|     fprintf(output_, "%x %x %d %d\n", rva, length, line_num, source_id); | ||||
|     line.Release(); | ||||
|   } | ||||
|   return true; | ||||
| @@ -113,7 +119,7 @@ bool PDBSourceLineWriter::PrintFunction(IDiaSymbol *function) { | ||||
|     return false; | ||||
|   } | ||||
|  | ||||
|   fwprintf(output_, L"FUNC %x %s\n", rva, name); | ||||
|   fwprintf(output_, L"FUNC %x %llx %s\n", rva, length, name); | ||||
|   if (!PrintLines(lines)) { | ||||
|     return false; | ||||
|   } | ||||
|   | ||||
| @@ -1179,354 +1179,354 @@ FILE 1178 f:\rtm\public\sdk\inc\ddbanned.h | ||||
| FILE 1179 f:\rtm\vctools\crt_bld\self_x86\crt\prebuild\h\vadefs.h | ||||
| FILE 1180 f:\rtm\vctools\crt_bld\self_x86\crt\prebuild\h\cruntime.h | ||||
| FILE 1181 f:\rtm\public\sdk\inc\tvout.h | ||||
| FUNC 1000 main | ||||
| 1000 24 172 | ||||
| 1039 25 172 | ||||
| 104a 26 172 | ||||
| 1065 27 172 | ||||
| 106f 31 172 | ||||
| 1092 32 172 | ||||
| 109b 33 172 | ||||
| 109d 36 172 | ||||
| 10a6 37 172 | ||||
| 10ed 38 172 | ||||
| 1105 39 172 | ||||
| 1120 42 172 | ||||
| 1139 43 172 | ||||
| 1140 44 172 | ||||
| 1142 47 172 | ||||
| 114b 48 172 | ||||
| 1161 49 172 | ||||
| FUNC 1190 ATL::CComBSTR::~CComBSTR | ||||
| 1190 1351 28 | ||||
| 1190 1352 28 | ||||
| 1199 1353 28 | ||||
| FUNC 11a0 ATL::CComPtr<IDiaEnumSymbolsByAddr>::~CComPtr<IDiaEnumSymbolsByAddr> | ||||
| 11a0 25 26 | ||||
| 11a0 26 26 | ||||
| FUNC 11b0 airbag::PDBSourceLineWriter::Close | ||||
| 11b0 212 26 | ||||
| 11b0 213 26 | ||||
| 11c4 214 26 | ||||
| FUNC 11d0 airbag::PDBSourceLineWriter::PDBSourceLineWriter | ||||
| 11d0 22 26 | ||||
| 11df 23 26 | ||||
| FUNC 11e0 airbag::PDBSourceLineWriter::Open | ||||
| 11e0 28 26 | ||||
| 1204 29 26 | ||||
| 1218 31 26 | ||||
| 1224 32 26 | ||||
| 123c 33 26 | ||||
| 123e 53 26 | ||||
| 1251 36 26 | ||||
| 1259 37 26 | ||||
| 127e 39 26 | ||||
| 1293 40 26 | ||||
| 12b0 53 26 | ||||
| 12c3 43 26 | ||||
| 12e6 44 26 | ||||
| 12eb 45 26 | ||||
| 12ed 48 26 | ||||
| 12fe 49 26 | ||||
| 1316 52 26 | ||||
| 1330 53 26 | ||||
| FUNC 1350 airbag::PDBSourceLineWriter::PrintLines | ||||
| 1350 55 26 | ||||
| 1379 58 26 | ||||
| 137f 61 26 | ||||
| 13bb 63 26 | ||||
| 13d4 69 26 | ||||
| 13ed 75 26 | ||||
| 1406 80 26 | ||||
| 1420 81 26 | ||||
| 1454 83 26 | ||||
| 146e 84 26 | ||||
| 1484 64 26 | ||||
| 1495 65 26 | ||||
| 14b4 70 26 | ||||
| 14c5 71 26 | ||||
| 14e4 76 26 | ||||
| 14e9 77 26 | ||||
| FUNC 14f0 airbag::PDBSourceLineWriter::PrintFunction | ||||
| 14f0 86 26 | ||||
| 1518 89 26 | ||||
| 151e 90 26 | ||||
| 1537 91 26 | ||||
| 154f 113 26 | ||||
| 1554 92 26 | ||||
| 155c 121 26 | ||||
| 1571 94 26 | ||||
| 1580 95 26 | ||||
| 1595 96 26 | ||||
| 15a5 121 26 | ||||
| 15ba 100 26 | ||||
| 15cb 101 26 | ||||
| 15d0 102 26 | ||||
| 15d5 106 26 | ||||
| 15e6 107 26 | ||||
| 15fb 108 26 | ||||
| 1608 111 26 | ||||
| 160c 112 26 | ||||
| 162e 113 26 | ||||
| 164b 116 26 | ||||
| 1664 117 26 | ||||
| 1675 118 26 | ||||
| 1695 120 26 | ||||
| 16ae 121 26 | ||||
| FUNC 16d0 airbag::PDBSourceLineWriter::PrintSourceFiles | ||||
| 16d0 123 26 | ||||
| 16f9 124 26 | ||||
| 16ff 125 26 | ||||
| 1716 126 26 | ||||
| 172e 134 26 | ||||
| 1746 127 26 | ||||
| 1748 162 26 | ||||
| 175c 130 26 | ||||
| 1760 132 26 | ||||
| 1781 133 26 | ||||
| 1799 142 26 | ||||
| 17b2 137 26 | ||||
| 17b6 139 26 | ||||
| 17fb 140 26 | ||||
| 17ff 141 26 | ||||
| 1822 144 26 | ||||
| 1826 145 26 | ||||
| 185b 147 26 | ||||
| 1874 151 26 | ||||
| 1878 152 26 | ||||
| 1896 156 26 | ||||
| 18ab 157 26 | ||||
| 18c2 158 26 | ||||
| 18ee 159 26 | ||||
| 1902 160 26 | ||||
| 194c 161 26 | ||||
| 198f 162 26 | ||||
| 19a3 142 26 | ||||
| 19d6 148 26 | ||||
| 19ed 153 26 | ||||
| FUNC 1a00 airbag::PDBSourceLineWriter::PrintFunctions | ||||
| 1a00 164 26 | ||||
| 1a27 165 26 | ||||
| 1a2d 166 26 | ||||
| 1a44 167 26 | ||||
| 1a5c 174 26 | ||||
| 1a74 168 26 | ||||
| 1a76 199 26 | ||||
| 1a88 171 26 | ||||
| 1a8c 172 26 | ||||
| 1aa9 173 26 | ||||
| 1ac1 174 26 | ||||
| 1ad7 178 26 | ||||
| 1af0 179 26 | ||||
| 1af5 180 26 | ||||
| 1b00 186 26 | ||||
| 1b19 190 26 | ||||
| 1b20 191 26 | ||||
| 1b30 195 26 | ||||
| 1b44 196 26 | ||||
| 1b67 198 26 | ||||
| 1b95 199 26 | ||||
| 1ba7 187 26 | ||||
| 1bac 188 26 | ||||
| FUNC 1bc0 airbag::PDBSourceLineWriter::WriteMap | ||||
| 1bc0 201 26 | ||||
| 1bc0 203 26 | ||||
| 1bcd 204 26 | ||||
| 1bdf 208 26 | ||||
| 1be8 210 26 | ||||
| 1beb 208 26 | ||||
| 1bef 209 26 | ||||
| 1bf2 210 26 | ||||
| FUNC 1c02 __security_check_cookie | ||||
| 1c02 52 1111 | ||||
| 1c02 55 1111 | ||||
| 1c08 56 1111 | ||||
| 1c0a 57 1111 | ||||
| 1c0c 59 1111 | ||||
| FUNC 1c11 pre_cpp_init | ||||
| 1c11 310 576 | ||||
| 1c11 312 576 | ||||
| 1c1b 322 576 | ||||
| 1c20 330 576 | ||||
| 1c4a 334 576 | ||||
| 1c53 335 576 | ||||
| 1c5b 337 576 | ||||
| FUNC 1c5c __tmainCRTStartup | ||||
| 1c5c 410 576 | ||||
| 1c68 433 576 | ||||
| 1c6d 458 576 | ||||
| 1c76 459 576 | ||||
| 1c7e 460 576 | ||||
| 1c8b 462 576 | ||||
| 1c8f 464 576 | ||||
| 1c95 465 576 | ||||
| 1c97 472 576 | ||||
| 1ca2 473 576 | ||||
| 1ca7 475 576 | ||||
| 1cb0 477 576 | ||||
| 1cba 479 576 | ||||
| 1cc3 481 576 | ||||
| 1cc9 483 576 | ||||
| 1cde 485 576 | ||||
| 1cef 493 576 | ||||
| 1cf5 499 576 | ||||
| 1cfe 501 576 | ||||
| 1d0f 502 576 | ||||
| 1d19 505 576 | ||||
| 1d1e 510 576 | ||||
| 1d26 521 576 | ||||
| 1d3d 523 576 | ||||
| 1d47 585 576 | ||||
| 1d54 586 576 | ||||
| 1d73 596 576 | ||||
| 1d7b 597 576 | ||||
| 1d82 603 576 | ||||
| 1d99 609 576 | ||||
| 1da1 616 576 | ||||
| 1dab 617 576 | ||||
| 1db2 619 576 | ||||
| 1dba 620 576 | ||||
| 1dc0 621 576 | ||||
| 1dc7 623 576 | ||||
| 1dcc 624 576 | ||||
| FUNC 1dd2 pre_c_init | ||||
| 1dd2 221 576 | ||||
| 1dd2 225 576 | ||||
| 1e32 233 576 | ||||
| 1e3f 241 576 | ||||
| 1e53 246 576 | ||||
| 1e61 247 576 | ||||
| 1e6f 254 576 | ||||
| 1e7b 261 576 | ||||
| 1e80 272 576 | ||||
| 1e85 279 576 | ||||
| 1e8e 280 576 | ||||
| 1e9a 283 576 | ||||
| 1e9f 287 576 | ||||
| 1ea8 289 576 | ||||
| 1eb1 292 576 | ||||
| 1eb3 293 576 | ||||
| FUNC 1eb4 mainCRTStartup | ||||
| 1eb4 393 576 | ||||
| 1eb4 400 576 | ||||
| 1eb9 402 576 | ||||
| FUNC 1ebe __report_gsfailure | ||||
| 1ebe 140 730 | ||||
| 1ec7 170 730 | ||||
| 1ecc 171 730 | ||||
| 1ed2 172 730 | ||||
| 1ed8 173 730 | ||||
| 1ede 174 730 | ||||
| 1ee4 175 730 | ||||
| 1eea 176 730 | ||||
| 1ef1 177 730 | ||||
| 1ef8 178 730 | ||||
| 1eff 179 730 | ||||
| 1f06 180 730 | ||||
| 1f0d 181 730 | ||||
| 1f14 182 730 | ||||
| 1f15 183 730 | ||||
| 1f1b 190 730 | ||||
| 1f1e 191 730 | ||||
| 1f23 192 730 | ||||
| 1f26 193 730 | ||||
| 1f2b 194 730 | ||||
| 1f2e 195 730 | ||||
| 1f33 201 730 | ||||
| 1f39 204 730 | ||||
| 1f43 206 730 | ||||
| 1f4d 285 730 | ||||
| 1f57 286 730 | ||||
| 1f61 293 730 | ||||
| 1f6c 294 730 | ||||
| 1f77 297 730 | ||||
| 1f82 298 730 | ||||
| 1f8a 302 730 | ||||
| 1f92 304 730 | ||||
| 1f9d 313 730 | ||||
| 1fa6 315 730 | ||||
| 1fae 319 730 | ||||
| 1fc0 320 730 | ||||
| FUNC 1fc8 _onexit | ||||
| 1fc8 79 481 | ||||
| 1fd4 84 481 | ||||
| 1fe6 86 481 | ||||
| 1feb 90 481 | ||||
| 1ff7 103 481 | ||||
| 1fff 105 481 | ||||
| 2003 107 481 | ||||
| 200e 108 481 | ||||
| 2019 110 481 | ||||
| 202c 112 481 | ||||
| 203c 113 481 | ||||
| 2049 115 481 | ||||
| 2055 120 481 | ||||
| 2058 121 481 | ||||
| 205e 117 481 | ||||
| FUNC 2067 atexit | ||||
| 2067 126 481 | ||||
| 2067 127 481 | ||||
| 2078 128 481 | ||||
| FUNC 2079 _RTC_Initialize | ||||
| FUNC 209d _RTC_Terminate | ||||
| FUNC 20d0 _ValidateImageBase | ||||
| 20d0 44 893 | ||||
| 20d0 50 893 | ||||
| 20db 52 893 | ||||
| 20dd 68 893 | ||||
| 20de 55 893 | ||||
| 20e3 56 893 | ||||
| 20e9 58 893 | ||||
| 20eb 62 893 | ||||
| 20f8 68 893 | ||||
| FUNC 2100 _FindPESection | ||||
| 2100 92 893 | ||||
| 2100 99 893 | ||||
| 2109 108 893 | ||||
| 2122 111 893 | ||||
| 2132 108 893 | ||||
| 213c 123 893 | ||||
| 2141 124 893 | ||||
| FUNC 2142 _IsNonwritableInCurrentImage | ||||
| 2142 152 893 | ||||
| 214e 159 893 | ||||
| 2152 167 893 | ||||
| 2160 169 893 | ||||
| 2162 177 893 | ||||
| 2167 178 893 | ||||
| 2170 179 893 | ||||
| 2172 181 893 | ||||
| 2174 188 893 | ||||
| 2188 190 893 | ||||
| 219f 196 893 | ||||
| 21a8 198 893 | ||||
| FUNC 21bc __SEH_prolog4 | ||||
| FUNC 2201 __SEH_epilog4 | ||||
| FUNC 2215 _except_handler4 | ||||
| FUNC 2238 _setdefaultprecision | ||||
| 2238 30 1040 | ||||
| 2239 31 1040 | ||||
| 2260 32 1040 | ||||
| FUNC 2261 _setargv | ||||
| 2261 56 616 | ||||
| 2261 57 616 | ||||
| 2263 58 616 | ||||
| FUNC 2264 __security_init_cookie | ||||
| 2264 97 770 | ||||
| 226a 117 770 | ||||
| 228b 119 770 | ||||
| 2292 120 770 | ||||
| 2295 170 770 | ||||
| 229f 175 770 | ||||
| 22a5 178 770 | ||||
| 22ad 179 770 | ||||
| 22b5 180 770 | ||||
| 22bd 182 770 | ||||
| 22cd 187 770 | ||||
| 22cf 204 770 | ||||
| 22d3 206 770 | ||||
| 22da 209 770 | ||||
| 22de 211 770 | ||||
| 22e5 215 770 | ||||
| 22eb 216 770 | ||||
| 22f6 218 770 | ||||
| FUNC 1000 187 main | ||||
| 1000 39 24 172 | ||||
| 1039 11 25 172 | ||||
| 104a 1b 26 172 | ||||
| 1065 a 27 172 | ||||
| 106f 23 31 172 | ||||
| 1092 9 32 172 | ||||
| 109b 2 33 172 | ||||
| 109d 9 36 172 | ||||
| 10a6 47 37 172 | ||||
| 10ed 18 38 172 | ||||
| 1105 1b 39 172 | ||||
| 1120 19 42 172 | ||||
| 1139 7 43 172 | ||||
| 1140 2 44 172 | ||||
| 1142 9 47 172 | ||||
| 114b 16 48 172 | ||||
| 1161 26 49 172 | ||||
| FUNC 1190 a ATL::CComBSTR::~CComBSTR | ||||
| 1190 0 1351 28 | ||||
| 1190 9 1352 28 | ||||
| 1199 1 1353 28 | ||||
| FUNC 11a0 f ATL::CComPtr<IDiaEnumSymbolsByAddr>::~CComPtr<IDiaEnumSymbolsByAddr> | ||||
| 11a0 0 25 26 | ||||
| 11a0 f 26 26 | ||||
| FUNC 11b0 15 airbag::PDBSourceLineWriter::Close | ||||
| 11b0 0 212 26 | ||||
| 11b0 14 213 26 | ||||
| 11c4 1 214 26 | ||||
| FUNC 11d0 10 airbag::PDBSourceLineWriter::PDBSourceLineWriter | ||||
| 11d0 f 22 26 | ||||
| 11df 1 23 26 | ||||
| FUNC 11e0 163 airbag::PDBSourceLineWriter::Open | ||||
| 11e0 24 28 26 | ||||
| 1204 14 29 26 | ||||
| 1218 c 31 26 | ||||
| 1224 18 32 26 | ||||
| 123c 2 33 26 | ||||
| 123e 13 53 26 | ||||
| 1251 8 36 26 | ||||
| 1259 25 37 26 | ||||
| 127e 15 39 26 | ||||
| 1293 1d 40 26 | ||||
| 12b0 13 53 26 | ||||
| 12c3 23 43 26 | ||||
| 12e6 5 44 26 | ||||
| 12eb 2 45 26 | ||||
| 12ed 11 48 26 | ||||
| 12fe 18 49 26 | ||||
| 1316 1a 52 26 | ||||
| 1330 13 53 26 | ||||
| FUNC 1350 19b airbag::PDBSourceLineWriter::PrintLines | ||||
| 1350 29 55 26 | ||||
| 1379 6 58 26 | ||||
| 137f 3c 61 26 | ||||
| 13bb 19 63 26 | ||||
| 13d4 19 69 26 | ||||
| 13ed 19 75 26 | ||||
| 1406 1a 80 26 | ||||
| 1420 34 81 26 | ||||
| 1454 1a 83 26 | ||||
| 146e 16 84 26 | ||||
| 1484 11 64 26 | ||||
| 1495 1f 65 26 | ||||
| 14b4 11 70 26 | ||||
| 14c5 1f 71 26 | ||||
| 14e4 5 76 26 | ||||
| 14e9 2 77 26 | ||||
| FUNC 14f0 1d3 airbag::PDBSourceLineWriter::PrintFunction | ||||
| 14f0 28 86 26 | ||||
| 1518 6 89 26 | ||||
| 151e 19 90 26 | ||||
| 1537 18 91 26 | ||||
| 154f 5 113 26 | ||||
| 1554 8 92 26 | ||||
| 155c 15 121 26 | ||||
| 1571 f 94 26 | ||||
| 1580 15 95 26 | ||||
| 1595 10 96 26 | ||||
| 15a5 15 121 26 | ||||
| 15ba 11 100 26 | ||||
| 15cb 5 101 26 | ||||
| 15d0 5 102 26 | ||||
| 15d5 11 106 26 | ||||
| 15e6 15 107 26 | ||||
| 15fb d 108 26 | ||||
| 1608 4 111 26 | ||||
| 160c 22 112 26 | ||||
| 162e 1d 113 26 | ||||
| 164b 19 116 26 | ||||
| 1664 11 117 26 | ||||
| 1675 20 118 26 | ||||
| 1695 19 120 26 | ||||
| 16ae 15 121 26 | ||||
| FUNC 16d0 326 airbag::PDBSourceLineWriter::PrintSourceFiles | ||||
| 16d0 29 123 26 | ||||
| 16f9 6 124 26 | ||||
| 16ff 17 125 26 | ||||
| 1716 18 126 26 | ||||
| 172e 18 134 26 | ||||
| 1746 2 127 26 | ||||
| 1748 14 162 26 | ||||
| 175c 4 130 26 | ||||
| 1760 21 132 26 | ||||
| 1781 18 133 26 | ||||
| 1799 19 142 26 | ||||
| 17b2 4 137 26 | ||||
| 17b6 45 139 26 | ||||
| 17fb 4 140 26 | ||||
| 17ff 23 141 26 | ||||
| 1822 4 144 26 | ||||
| 1826 35 145 26 | ||||
| 185b 19 147 26 | ||||
| 1874 4 151 26 | ||||
| 1878 1e 152 26 | ||||
| 1896 15 156 26 | ||||
| 18ab 17 157 26 | ||||
| 18c2 2c 158 26 | ||||
| 18ee 14 159 26 | ||||
| 1902 4a 160 26 | ||||
| 194c 43 161 26 | ||||
| 198f 14 162 26 | ||||
| 19a3 33 142 26 | ||||
| 19d6 17 148 26 | ||||
| 19ed 9 153 26 | ||||
| FUNC 1a00 1b1 airbag::PDBSourceLineWriter::PrintFunctions | ||||
| 1a00 27 164 26 | ||||
| 1a27 6 165 26 | ||||
| 1a2d 17 166 26 | ||||
| 1a44 18 167 26 | ||||
| 1a5c 18 174 26 | ||||
| 1a74 2 168 26 | ||||
| 1a76 12 199 26 | ||||
| 1a88 4 171 26 | ||||
| 1a8c 1d 172 26 | ||||
| 1aa9 18 173 26 | ||||
| 1ac1 16 174 26 | ||||
| 1ad7 19 178 26 | ||||
| 1af0 5 179 26 | ||||
| 1af5 b 180 26 | ||||
| 1b00 19 186 26 | ||||
| 1b19 7 190 26 | ||||
| 1b20 10 191 26 | ||||
| 1b30 14 195 26 | ||||
| 1b44 23 196 26 | ||||
| 1b67 2e 198 26 | ||||
| 1b95 12 199 26 | ||||
| 1ba7 5 187 26 | ||||
| 1bac 5 188 26 | ||||
| FUNC 1bc0 35 airbag::PDBSourceLineWriter::WriteMap | ||||
| 1bc0 0 201 26 | ||||
| 1bc0 d 203 26 | ||||
| 1bcd 12 204 26 | ||||
| 1bdf 9 208 26 | ||||
| 1be8 3 210 26 | ||||
| 1beb 4 208 26 | ||||
| 1bef 3 209 26 | ||||
| 1bf2 3 210 26 | ||||
| FUNC 1c02 f __security_check_cookie | ||||
| 1c02 0 52 1111 | ||||
| 1c02 6 55 1111 | ||||
| 1c08 2 56 1111 | ||||
| 1c0a 2 57 1111 | ||||
| 1c0c 5 59 1111 | ||||
| FUNC 1c11 4b pre_cpp_init | ||||
| 1c11 0 310 576 | ||||
| 1c11 a 312 576 | ||||
| 1c1b 5 322 576 | ||||
| 1c20 2a 330 576 | ||||
| 1c4a 9 334 576 | ||||
| 1c53 8 335 576 | ||||
| 1c5b 1 337 576 | ||||
| FUNC 1c5c 176 __tmainCRTStartup | ||||
| 1c5c c 410 576 | ||||
| 1c68 5 433 576 | ||||
| 1c6d 9 458 576 | ||||
| 1c76 8 459 576 | ||||
| 1c7e d 460 576 | ||||
| 1c8b 4 462 576 | ||||
| 1c8f 6 464 576 | ||||
| 1c95 2 465 576 | ||||
| 1c97 b 472 576 | ||||
| 1ca2 5 473 576 | ||||
| 1ca7 9 475 576 | ||||
| 1cb0 a 477 576 | ||||
| 1cba 9 479 576 | ||||
| 1cc3 6 481 576 | ||||
| 1cc9 15 483 576 | ||||
| 1cde 11 485 576 | ||||
| 1cef 6 493 576 | ||||
| 1cf5 9 499 576 | ||||
| 1cfe 11 501 576 | ||||
| 1d0f a 502 576 | ||||
| 1d19 5 505 576 | ||||
| 1d1e 8 510 576 | ||||
| 1d26 17 521 576 | ||||
| 1d3d a 523 576 | ||||
| 1d47 d 585 576 | ||||
| 1d54 1f 586 576 | ||||
| 1d73 8 596 576 | ||||
| 1d7b 7 597 576 | ||||
| 1d82 17 603 576 | ||||
| 1d99 8 609 576 | ||||
| 1da1 a 616 576 | ||||
| 1dab 7 617 576 | ||||
| 1db2 8 619 576 | ||||
| 1dba 6 620 576 | ||||
| 1dc0 7 621 576 | ||||
| 1dc7 5 623 576 | ||||
| 1dcc 6 624 576 | ||||
| FUNC 1dd2 e2 pre_c_init | ||||
| 1dd2 0 221 576 | ||||
| 1dd2 60 225 576 | ||||
| 1e32 d 233 576 | ||||
| 1e3f 14 241 576 | ||||
| 1e53 e 246 576 | ||||
| 1e61 e 247 576 | ||||
| 1e6f c 254 576 | ||||
| 1e7b 5 261 576 | ||||
| 1e80 5 272 576 | ||||
| 1e85 9 279 576 | ||||
| 1e8e c 280 576 | ||||
| 1e9a 5 283 576 | ||||
| 1e9f 9 287 576 | ||||
| 1ea8 9 289 576 | ||||
| 1eb1 2 292 576 | ||||
| 1eb3 1 293 576 | ||||
| FUNC 1eb4 a mainCRTStartup | ||||
| 1eb4 0 393 576 | ||||
| 1eb4 5 400 576 | ||||
| 1eb9 5 402 576 | ||||
| FUNC 1ebe 104 __report_gsfailure | ||||
| 1ebe 9 140 730 | ||||
| 1ec7 5 170 730 | ||||
| 1ecc 6 171 730 | ||||
| 1ed2 6 172 730 | ||||
| 1ed8 6 173 730 | ||||
| 1ede 6 174 730 | ||||
| 1ee4 6 175 730 | ||||
| 1eea 7 176 730 | ||||
| 1ef1 7 177 730 | ||||
| 1ef8 7 178 730 | ||||
| 1eff 7 179 730 | ||||
| 1f06 7 180 730 | ||||
| 1f0d 7 181 730 | ||||
| 1f14 1 182 730 | ||||
| 1f15 6 183 730 | ||||
| 1f1b 3 190 730 | ||||
| 1f1e 5 191 730 | ||||
| 1f23 3 192 730 | ||||
| 1f26 5 193 730 | ||||
| 1f2b 3 194 730 | ||||
| 1f2e 5 195 730 | ||||
| 1f33 6 201 730 | ||||
| 1f39 a 204 730 | ||||
| 1f43 a 206 730 | ||||
| 1f4d a 285 730 | ||||
| 1f57 a 286 730 | ||||
| 1f61 b 293 730 | ||||
| 1f6c b 294 730 | ||||
| 1f77 b 297 730 | ||||
| 1f82 8 298 730 | ||||
| 1f8a 8 302 730 | ||||
| 1f92 b 304 730 | ||||
| 1f9d 9 313 730 | ||||
| 1fa6 8 315 730 | ||||
| 1fae 12 319 730 | ||||
| 1fc0 2 320 730 | ||||
| FUNC 1fc8 9f _onexit | ||||
| 1fc8 c 79 481 | ||||
| 1fd4 12 84 481 | ||||
| 1fe6 5 86 481 | ||||
| 1feb c 90 481 | ||||
| 1ff7 8 103 481 | ||||
| 1fff 4 105 481 | ||||
| 2003 b 107 481 | ||||
| 200e b 108 481 | ||||
| 2019 13 110 481 | ||||
| 202c 10 112 481 | ||||
| 203c d 113 481 | ||||
| 2049 c 115 481 | ||||
| 2055 3 120 481 | ||||
| 2058 6 121 481 | ||||
| 205e 9 117 481 | ||||
| FUNC 2067 12 atexit | ||||
| 2067 0 126 481 | ||||
| 2067 11 127 481 | ||||
| 2078 1 128 481 | ||||
| FUNC 2079 24 _RTC_Initialize | ||||
| FUNC 209d 24 _RTC_Terminate | ||||
| FUNC 20d0 29 _ValidateImageBase | ||||
| 20d0 0 44 893 | ||||
| 20d0 b 50 893 | ||||
| 20db 2 52 893 | ||||
| 20dd 1 68 893 | ||||
| 20de 5 55 893 | ||||
| 20e3 6 56 893 | ||||
| 20e9 2 58 893 | ||||
| 20eb d 62 893 | ||||
| 20f8 1 68 893 | ||||
| FUNC 2100 42 _FindPESection | ||||
| 2100 0 92 893 | ||||
| 2100 9 99 893 | ||||
| 2109 19 108 893 | ||||
| 2122 10 111 893 | ||||
| 2132 a 108 893 | ||||
| 213c 5 123 893 | ||||
| 2141 1 124 893 | ||||
| FUNC 2142 6c _IsNonwritableInCurrentImage | ||||
| 2142 c 152 893 | ||||
| 214e 4 159 893 | ||||
| 2152 e 167 893 | ||||
| 2160 2 169 893 | ||||
| 2162 5 177 893 | ||||
| 2167 9 178 893 | ||||
| 2170 2 179 893 | ||||
| 2172 2 181 893 | ||||
| 2174 14 188 893 | ||||
| 2188 17 190 893 | ||||
| 219f 9 196 893 | ||||
| 21a8 6 198 893 | ||||
| FUNC 21bc 45 __SEH_prolog4 | ||||
| FUNC 2201 14 __SEH_epilog4 | ||||
| FUNC 2215 23 _except_handler4 | ||||
| FUNC 2238 29 _setdefaultprecision | ||||
| 2238 1 30 1040 | ||||
| 2239 27 31 1040 | ||||
| 2260 1 32 1040 | ||||
| FUNC 2261 3 _setargv | ||||
| 2261 0 56 616 | ||||
| 2261 2 57 616 | ||||
| 2263 1 58 616 | ||||
| FUNC 2264 94 __security_init_cookie | ||||
| 2264 6 97 770 | ||||
| 226a 21 117 770 | ||||
| 228b 7 119 770 | ||||
| 2292 3 120 770 | ||||
| 2295 a 170 770 | ||||
| 229f 6 175 770 | ||||
| 22a5 8 178 770 | ||||
| 22ad 8 179 770 | ||||
| 22b5 8 180 770 | ||||
| 22bd 10 182 770 | ||||
| 22cd 2 187 770 | ||||
| 22cf 4 204 770 | ||||
| 22d3 7 206 770 | ||||
| 22da 4 209 770 | ||||
| 22de 7 211 770 | ||||
| 22e5 6 215 770 | ||||
| 22eb b 216 770 | ||||
| 22f6 2 218 770 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 mmentovai
					mmentovai