Как получить начальный адрес функции с помощью небезопасного пакета?

Мне нужно получить первую инструкцию процессора для функции go (не для сборки или cgo), но в golang, &dummy из func dummy() {} не приводит к начальному адресу функции, но к переменному начальному адресу в стеке, представляющем функцию.

Так что в моем примере &dummy не приводит к указателю, но к неясной структуре, которую я не смог найти в исходном коде golang...

1 ответ

Попробуй это:

functionLocation := **(**uintptr)(unsafe.Pointer(&orig))
Другие вопросы по тегам