Resolves a debugging symbol's address. @type symbol: str @param symbol: Name of the symbol to resolve. @type bCaseSensitive: bool @param bCaseSensitive: C{True} for case sensitive matches, C{False} for case insensitive. @rtype: int o
(self, symbol, bCaseSensitive=False)
| 536 | return self.__symbols.__iter__() |
| 537 | |
| 538 | def resolve_symbol(self, symbol, bCaseSensitive=False): |
| 539 | """ |
| 540 | Resolves a debugging symbol's address. |
| 541 | |
| 542 | @type symbol: str |
| 543 | @param symbol: Name of the symbol to resolve. |
| 544 | |
| 545 | @type bCaseSensitive: bool |
| 546 | @param bCaseSensitive: C{True} for case sensitive matches, |
| 547 | C{False} for case insensitive. |
| 548 | |
| 549 | @rtype: int or None |
| 550 | @return: Memory address of symbol. C{None} if not found. |
| 551 | """ |
| 552 | if bCaseSensitive: |
| 553 | for SymbolName, SymbolAddress, SymbolSize in self.iter_symbols(): |
| 554 | if symbol == SymbolName: |
| 555 | return SymbolAddress |
| 556 | for SymbolName, SymbolAddress, SymbolSize in self.iter_symbols(): |
| 557 | try: |
| 558 | SymbolName = win32.UnDecorateSymbolName(SymbolName) |
| 559 | except Exception: |
| 560 | continue |
| 561 | if symbol == SymbolName: |
| 562 | return SymbolAddress |
| 563 | else: |
| 564 | symbol = symbol.lower() |
| 565 | for SymbolName, SymbolAddress, SymbolSize in self.iter_symbols(): |
| 566 | if symbol == SymbolName.lower(): |
| 567 | return SymbolAddress |
| 568 | for SymbolName, SymbolAddress, SymbolSize in self.iter_symbols(): |
| 569 | try: |
| 570 | SymbolName = win32.UnDecorateSymbolName(SymbolName) |
| 571 | except Exception: |
| 572 | continue |
| 573 | if symbol == SymbolName.lower(): |
| 574 | return SymbolAddress |
| 575 | |
| 576 | def get_symbol_at_address(self, address): |
| 577 | """ |
no test coverage detected