У меня есть EXE, созданный из Visual Studio, и я хотел бы очистить или просто удалить часть пути имени файла PDB. Я ищу инструмент, чтобы сделать эту настройку в каталоге отладки PE, без использования шестнадцатеричного редактора. Многие предложили BinPlace, но я не могу заставить это работать. Мне еще предстоит увидеть командную строку для binplace, которая действительно работает для этой цели. Были предложены другие инструменты Microsoft, и у этих инструментов буквально нет документации, кроме справки командной строки. Справка командной строки также указывает, что это не то, для чего предназначены эти инструменты (например, pdbstr). Опять же, люди, делающие эти предложения, не публикуют информацию об использовании командной строки, и, поскольку эти инструменты не задокументированы, я вернулся к исходной точке. Повторное связывание не является для меня вариантом в этом случае, но я знаю о переключателях компоновщика, которые изменяют эту информацию. Существуют ли какие-либо инструменты, которые будут работать с очисткой информации о пути PDB из EXE-файла, или у вас работает командная строка binplace?
peupdate можно скачать здесь:
http://bytepointer.com/tools/index.htm#peupdate
Этот инструмент можно использовать для просмотра, удаления или изменения строки PDB в исполняемом модуле. В следующем примере очищается вся строка PDB (путь и имя файла):
peupdate -c <module_path>
Чтобы удалить путь PDB и оставить имя файла PDB, позволяющее работать с поиском символов при отладке модуля, если пути символов установлены правильно (например, «c: \ joeblow \ test.pdb» изменяется на «test.pdb»):
peupdate -s <module_path>
Чтобы изменить путь PDB: (любая произвольная строка)
peupdate -u <new_path> <module_path>
Других решений пока нет …