my $inputCSVFile = $ARGV[0];
my $funcOnly = '';
my $depth = 0;
my $selfTime = 0;
my $dllName = '';
open(my $fh, '<', $inputCSVFile) or die "Can't read file '$inputCSVFile' [$!]\n";
while (my $currLine = <$fh>){
$rowCounter = $rowCounter + 1; # to discard first row which typically contains headers
next if $rowCounter == 1;
chomp $currLine;
### VTune 2013 & 2015 #VTune - sometimes the call stack information is enclosed in double quotes (?). To remove double quotes. Not necessary for XCode instruments (MAC)
$currLine =~ s/\"//g;
$currLine =~ /(\s*)(.*),(.*),.*,([0-9]*\.?[0-9]+)/ or die "Error in regular expression on the current line\n";
$dllName = $3;
$func = $dllName.'!'.$2; # Eg : m_lxe.dll!MathWorks::lxe::IrEngineDecorator::Apply
$depth = length ($1);
$selfTime = $4*1000; # selfTime in msec ### VTune 2013 & 2015
### VTune 2016 # $currLine =~ /(\s*)(.*?),([0-9]*\.?[0-9]+?),(.*)/ or die "Error in regular expression on the current line $currLine\n"; # if ($2 =~ /\"/) # { # $currLine =~ /(\s*)\"(.*?)\",([0-9]*\.?[0-9]+?),(.*)/ or die "Error in regular expression on the current line $currLine\n"; # $funcOnly = $2; # $depth = length ($1); # $selfTime = $3*1000; # selfTime in msec # $dllName = $4; # } # else # { # $funcOnly = $2; # $depth = length ($1); # $selfTime = $3*1000; # selfTime in msec # $dllName = $4; # } # my $func = $dllName.'!'.$funcOnly; # Eg : m_lxe.dll!MathWorks::lxe::IrEngineDecorator::Apply ### VTune 2016
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.