in teamcity-symbol-agent/src/main/java/jetbrains/buildServer/symbols/SymbolsIndexer.java [270:293]
private void processBinaryArtifacts(@NotNull List<ArtifactsCollection> artifacts, String fileExtension) {
final Map<File, String> binaryFiles = getArtifactPathsByFileExtension(artifacts, fileExtension);
for (File binaryFile : binaryFiles.keySet()){
if(myBinaryFileToArtifactMap.containsKey(binaryFile)){
LOG.debug(String.format("File %s already processed. Skipped.", binaryFile.getAbsolutePath()));
continue;
}
final String blockName = "Binary file";
myProgressLogger.message("Indexing binary file " + binaryFile.getAbsolutePath());
try {
myProgressLogger.logMessage(DefaultMessagesInfo.createBlockStart(blockName, "symbol-server"));
final String artifactPath = myArtifactPathHelper.concatenateArtifactPath(binaryFiles.get(binaryFile), binaryFile.getName());
final PdbSignatureIndexEntry signatureIndexEntry = getBinarySignature(binaryFile);
myBinaryFileToArtifactMap.put(binaryFile, artifactPath);
myBinaryFileSignatures.add(signatureIndexEntry);
} catch (Throwable e) {
LOG.error("Error occurred while processing binary file " + binaryFile, e);
myProgressLogger.error("Error occurred while processing binary file " + binaryFile);
myProgressLogger.exception(e);
} finally {
myProgressLogger.logMessage(DefaultMessagesInfo.createBlockEnd(blockName, "symbol-server"));
}
}
}