VirtualBox

Changeset 65370 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jan 19, 2017 11:49:58 AM (8 years ago)
Author:
vboxsync
Message:

ValidationKit: Make use of the BacktraceResolver class to symbolize stack traces using RTLdrFlt and the provided debugging symbols

Location:
trunk/src/VBox/ValidationKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/Makefile.kmk

    r63490 r65370  
    6767        $(PATH_SUB_CURRENT)/testdriver/__init__.py \
    6868        $(PATH_SUB_CURRENT)/testdriver/base.py \
     69        $(PATH_SUB_CURRENT)/testdriver/btresolver.py \
    6970        $(PATH_SUB_CURRENT)/testdriver/reporter.py \
    7071        $(PATH_SUB_CURRENT)/testdriver/tst-txsclient.py \
  • trunk/src/VBox/ValidationKit/testdriver/vbox.py

    r65335 r65370  
    5050from common     import utils;
    5151from testdriver import base;
     52from testdriver import btresolver;
    5253from testdriver import reporter;
    5354from testdriver import vboxcon;
     
    23732374        return fRc;
    23742375
     2376    def annotateAndUploadProcessReport(self, sProcessReport):
     2377        """
     2378        Annotates the given VM process report and uploads it if successfull.
     2379        """
     2380        fRc = False;
     2381        if self.oBuild is not None and self.oBuild.sInstallPath is not None:
     2382            oResolver = btresolver.BacktraceResolver(self.sScratchPath, self.oBuild.sInstallPath,
     2383                                                     self.getBuildOs(), self.getBuildArch(),
     2384                                                     fnLog = reporter.log);
     2385            fRcTmp = oResolver.prepareEnv();
     2386            if fRcTmp:
     2387                reporter.log('Successfully prepared environment');
     2388                sReportDbgSym = oResolver.annotateReport(sProcessReport);
     2389                if sReportDbgSym is not None:
     2390                    reporter.addLogString(sReportDbgSym, 'vmprocess.log', 'process/report/vm', 'Annotated VM process state');
     2391                    fRc = True;
     2392                else:
     2393                    reporter.log('Annotating report failed');
     2394                oResolver.cleanupEnv();
     2395        return fRc;
     2396
    23752397    def startVmEx(self, oVM, fWait = True, sType = None, sName = None, asEnv = None): # pylint: disable=R0914,R0915
    23762398        """
     
    27422764        # Add the host process info if we were able to retrieve it.
    27432765        if sHostProcessInfo is not None:
    2744             reporter.addLogString(sHostProcessInfo, 'vmprocess.log', 'process/report/vm', 'VM process state');
     2766            reporter.log('Trying to annotate the VM process report, please stand by...');
     2767            fRcTmp = self.annotateAndUploadProcessReport(sHostProcessInfo);
     2768            # Upload the raw log for manual annotation in case resolving failed.
     2769            if not fRcTmp:
     2770                reporter.log('Failed to annotate VM process report, uploading raw report');
     2771                reporter.addLogString(sHostProcessInfo, 'vmprocess.log', 'process/report/vm', 'VM process state');
    27452772
    27462773        return fRc;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette