| 324 | } |
| 325 | |
| 326 | extern "C" RENDERDOC_API void RENDERDOC_CC RENDERDOC_CreateBugReport(const rdcstr &logfile, |
| 327 | const rdcstr &dumpfile, |
| 328 | rdcstr &report) |
| 329 | { |
| 330 | mz_zip_archive zip; |
| 331 | RDCEraseEl(zip); |
| 332 | |
| 333 | if(report.empty()) |
| 334 | { |
| 335 | report = FileIO::GetTempFolderFilename() + |
| 336 | StringFormat::sntimef(Timing::GetUTCTime(), "/renderdoc_report_%H%M%S.zip"); |
| 337 | } |
| 338 | |
| 339 | FileIO::Delete(report); |
| 340 | |
| 341 | mz_zip_writer_init_file(&zip, report.c_str(), 0); |
| 342 | |
| 343 | if(!dumpfile.empty()) |
| 344 | mz_zip_writer_add_file(&zip, "minidump.dmp", dumpfile.c_str(), NULL, 0, MZ_BEST_COMPRESSION); |
| 345 | |
| 346 | if(!logfile.empty()) |
| 347 | { |
| 348 | rdcstr contents = FileIO::logfile_readall(0, logfile); |
| 349 | mz_zip_writer_add_mem(&zip, "error.log", contents.data(), contents.length(), MZ_BEST_COMPRESSION); |
| 350 | } |
| 351 | |
| 352 | mz_zip_writer_finalize_archive(&zip); |
| 353 | mz_zip_writer_end(&zip); |
| 354 | } |
| 355 | |
| 356 | extern "C" RENDERDOC_API void RENDERDOC_CC RENDERDOC_RegisterMemoryRegion(void *base, size_t size) |
| 357 | { |
no test coverage detected