diff --git a/include/boost/dll/detail/pe_info.hpp b/include/boost/dll/detail/pe_info.hpp index 18b50cf1..0d153b1c 100644 --- a/include/boost/dll/detail/pe_info.hpp +++ b/include/boost/dll/detail/pe_info.hpp @@ -16,6 +16,7 @@ #include #include +#include #include // for std::getline #include @@ -311,8 +312,10 @@ class pe_info { static std::vector symbols(std::ifstream& fs, const char* section_name) { std::vector ret; + std::cerr << "!!!!!! BEFORE header(fs)\n"; const header_t h = header(fs); + std::cerr << "!!!!!! AFTER header(fs)\n"; std::size_t section_begin_addr = 0; std::size_t section_end_addr = 0; @@ -322,6 +325,7 @@ class pe_info { char name_helper[section_t::IMAGE_SIZEOF_SHORT_NAME_ + 1]; std::memset(name_helper, 0, sizeof(name_helper)); for (std::size_t i = 0;i < h.FileHeader.NumberOfSections;++i) { + std::cerr << "!!!!!! LOOP iteration " << i << "\n"; // There is no terminating null character if the string is exactly eight characters long read_raw(fs, image_section_header); std::memcpy(name_helper, image_section_header.Name, section_t::IMAGE_SIZEOF_SHORT_NAME_); @@ -330,13 +334,16 @@ class pe_info { section_end_addr = section_begin_addr + image_section_header.SizeOfRawData; } } + std::cerr << "!!!!!! END LOOP iteration\n"; // returning empty result if section was not found if(section_begin_addr == 0 || section_end_addr == 0) return ret; } + std::cerr << "!!!!!! BEFORE exports(fs, h)\n"; const exports_t exprt = exports(fs, h); + std::cerr << "!!!!!! AFTER exports(fs, h)\n"; const std::size_t exported_symbols = exprt.NumberOfFunctions; const std::size_t fixed_names_addr = get_file_offset(fs, exprt.AddressOfNames, h); const std::size_t fixed_ordinals_addr = get_file_offset(fs, exprt.AddressOfNameOrdinals, h); @@ -347,6 +354,7 @@ class pe_info { boost::dll::detail::WORD_ ordinal; std::string symbol_name; for (std::size_t i = 0;i < exported_symbols;++i) { + std::cerr << "!!!!!! LOOP exported_symbols iteration " << i << "\n"; // getting ordinal fs.seekg(fixed_ordinals_addr + i * sizeof(ordinal)); read_raw(fs, ordinal); @@ -366,6 +374,7 @@ class pe_info { std::getline(fs, symbol_name, '\0'); ret.push_back(symbol_name); } + std::cerr << "!!!!!! END LOOP exported_symbols\n"; return ret; } diff --git a/test/appveyor.yml b/test/appveyor.yml index ef54c270..120f6de7 100644 --- a/test/appveyor.yml +++ b/test/appveyor.yml @@ -32,46 +32,12 @@ skip_tags: true environment: matrix: - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - TOOLSET: msvc-14.1 - CXXSTD: 14,17 - ADDRMD: 32,64 - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - TOOLSET: msvc-14.2 - CXXSTD: 14,17,latest # latest is C++2a - ADDRMD: 32,64 # TODO: Clang 32bit job yields: # LINK : fatal error LNK1171: unable to load mspdbcore.dll (error code: 126) - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 TOOLSET: clang-win CXXSTD: 14,17 ADDRMD: 64 - # Some issue with stdcxx=14 builds: - # clang-cl: error: linker command failed with exit code 1181 (use -v to see invocation) - # "clang-cl.exe" "clang-cl.exe" -m64 -m64 /link /link /incremental:no /incremental:no /manifest /manifest /DLL /subsystem:console /subsystem:console /out:"..\..\..\bin.v2\libs\dll\test\clang-win-9.0.1\release\address-model-64\cxxstd-14-iso\threading-multi\library1-clangw9-mt-x64-1_73.dll" /IMPLIB:"..\..\..\bin.v2\libs\dll\test\clang-win-9.0.1\release\address-model-64\cxxstd-14-iso\threading-multi\library1-clangw9-mt-x64-1_73.lib" @"..\..\..\bin.v2\libs\dll\test\clang-win-9.0.1\release\address-model-64\cxxstd-14-iso\threading-multi\library1-clangw9-mt-x64-1_73.dll.rsp" - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - TOOLSET: clang-win - CXXSTD: 17,2a - ADDRMD: 32,64 - - # TODO: Both Cygwins have problems with and `dladdr` - #- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - # ADDPATH: C:\cygwin\bin; - # TOOLSET: gcc - # CXXSTD: 11,14,1z - #- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - # ADDPATH: C:\cygwin64\bin; - # TOOLSET: gcc - # CXXSTD: 11,14,1z - # MinGW 32 bit is not supported by boost system any more - #- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - # ADDPATH: C:\mingw\bin; - # TOOLSET: gcc - # CXXSTD: 11,14,1z - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - ADDPATH: C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin; - TOOLSET: gcc - CXXSTD: 11,14,1z before_build: - set BOOST_BRANCH=develop