Как получить начальный адрес функции с помощью небезопасного пакета?
Мне нужно получить первую инструкцию процессора для функции go (не для сборки или cgo), но в golang, &dummy
из func dummy() {}
не приводит к начальному адресу функции, но к переменному начальному адресу в стеке, представляющем функцию.
Так что в моем примере &dummy
не приводит к указателю, но к неясной структуре, которую я не смог найти в исходном коде golang...
1 ответ
Попробуй это:
functionLocation := **(**uintptr)(unsafe.Pointer(&orig))