По определению, git reset --hard
выкинет незафиксированные изменения без возможности для их восстановления (ваша резервная система может помочь, но не Git).
На самом деле очень мало случаев, когда git reset --hard
- хорошая идея. В большинстве случаев есть более безопасная команда, чтобы сделать то же самое:
git stash
. Он сохранит резервную копию этих изменений, срок действия которых истечет через некоторое время, если вы запустите git gc
. Если вы на 99,9% уверены, что вам никогда не понадобится эти изменения, то git stash
все равно ваш друг для случая 0,1%. Если вы на 100% уверены, то git stash
все еще ваш друг, потому что у этих 100% есть ошибка измерения; -). HEAD
и кончик текущего ветвь в истории, тогда git reset --keep
- ваш друг. Он будет делать то же, что и git reset --hard
, но not отменит ваши локальные изменения. git stash && git reset --keep
является вашим другом. Научите свои пальцы не использовать git reset --hard
, он окупится один день.
Вы пытались прикрепить w3wp.exe
в вашем C# application
? вы можете открыть C# application
и убедиться, что выходом из этого приложения является DLL
, на который есть ссылка, и поставить точку останова на метод, который вы хотите отлаживать, а при присоединении debugger
сам output window
может сказать независимо от того, загружены ли права symbols
или нет, если написано, что symbols
загружены, то breakpoint
попадет.
Попробуйте, это должно сработать, как я сталкивался с этим ранее.
Удачного кодирования ...
Если вы присоединяете отладчик к классическому веб-приложению ASP, вам необходимо убедиться, что вы также хотите отладить управляемый код.
В окне Attach to Process
перед выбором процесса для присоединения найдите опцию Select...
справа от метки Attach to:
;
Откроется окно Select Code Type
, где вы можете выбрать отладчики типа кода для подключения.
Выберите несколько типов кода из перечисленных, в частности, версию [.NET] Managed
, которая подходит для компиляции .Net COM DLL, которую вы хотите отлаживать.
Присоединяйтесь к процессу как обычно.