Saya mendapatkan kesalahan tautan yang cukup panjang dan membingungkan, dan akan sangat senang jika saya bisa menempelkannya ke beberapa kotak teks di beberapa situs web dan nama-nama itu tidak rusak untuk saya.
Apakah ada yang tahu tentang layanan seperti itu?
Jawaban:
Saya telah membuat serivice online seperti itu: https://demangler.com
Ini adalah demangler simbol gcc c ++. Anda cukup menyalin jejak tumpukan, atau keluaran dari nm ke dalam kotak teks, dan itu akan mengembalikan keluaran dengan nama yang didemangle.
@Pembaruan: Sekarang juga meruntuhkan simbol MSVC dan Java.
sumber
white-space: normal
atau serupa dengan tag <pre> responseSection (dan mungkin menambahkan nomor baris)? Output satu baris yang panjang tidak dapat dibaca saat ini.Ini mungkin agak terlambat, tapi saya membuatnya, berdasarkan pertanyaan ini. Ia bekerja dengan input yang saya coba, mendukung g ++ dan msvc ++ melalui __cxa_demangle dan __unDName, dikompilasi ke Javascript melalui Emscripten. Semoga ini bisa membantu seseorang: c ++ filtjs
Edit: Memperbaiki masalah pelolosan
sumber
??_R3?$KxSet@V?$KxSpe@DI@@I@@8
.Sebagian besar (jika tidak semua) kompiler C ++ hadir dengan
c++filt
alat yang melakukan persis seperti yang Anda cari.Jika Anda menginginkannya di klik mouse ... baik tulis GUI untuk itu;)
sumber
objdump -dr ./AClass.o | c++filt | less
(disassembler) ataunm ./AClass.o | c++filt | less
(daftar simbol di dalam file objek)Ada dua solusi online salin dan tempel:
Jika Anda hanya membutuhkan dukungan untuk GCC dan Clang, Anda juga memiliki opsi untuk menggunakan Coliru , yang mungkin merupakan kompiler C ++ online paling serbaguna .
Ini tidak sesederhana potong, tempel, dan klik - tetapi tidak terlalu sulit - dan sepertinya tidak ada masalah dengan parameter template seperti yang disebutkan di atas. Anda hanya perlu mengubah baris perintah untuk menjalankan sesuatu seperti ini:
Lihat langsung dengan contoh ini yang demangles:
untuk:
sumber
FYI, ada juga permata Ruby untuk memisahkan Borland / MS / nama apa pun yang rusak: unmangler
sumber