2015-09-25 4 views
0

У меня есть EXE, созданный из Visual Studio, и я хочу очистить или просто удалить часть пути имени файла PDB. Я ищу инструмент для внесения этой корректировки в каталог отладки PE, без использования шестнадцатеричного редактора. Многие предложили BinPlace, но я не могу заставить это работать. Мне еще предстоит увидеть командную строку для binplace, которая действительно работает для этой цели. Были предложены другие инструменты Microsoft, и у этих инструментов буквально нет документации, кроме справки по командной строке. В командной строке также указывается, что не для этих инструментов (например, pdbstr). Опять же, люди, делающие эти предложения, не публикуют информацию об использовании командной строки, и поскольку эти инструменты не документированы, я вернусь на первый план. В этом случае перезагрузка не является вариантом для меня, но я знаю о компоновщиках, которые изменяют эту информацию. Существуют ли какие-либо инструменты, которые будут работать с очисткой информации о пути PDB от EXE или у вас есть командная строка binplace, которая работает?Как очистить строку PDB в выпуске VC++ build

ответ

0

peupdate можно скачать здесь:

http://bytepointer.com/tools/index.htm#peupdate

Этот инструмент может быть использован для отображения, удалить или изменить строку PDB в исполняемом модуле. Следующий пример удаляет всю PDB строку (путь и имя файла):

peupdate -c <module_path> 

Чтобы лишить путь PDB и оставить имя файла PDB позволяет символ поиска по-прежнему работать при отладке модуля, если пути символов правильно установлен (например, «с : \ joeblow \ test.pdb»изменяется на "test.pdb"):

peupdate -s <module_path> 

чтобы изменить путь PDB: (любая произвольная строка)

peupdate -u <new_path> <module_path>