needle-tools / selective-profiling

Selectively deep profile single methods while your game is running in Unity's Profiler 🔬
135 stars 11 forks source link

Not working on MacOs with Unity 2021.3.29f1 #24

Open JohannesDeml opened 6 months ago

JohannesDeml commented 6 months ago

After I installed the package I get the following error:

Win32Exception: Invalid data
MonoMod.RuntimeDetour.Platforms.DetourNativeLibcPlatform.SetMemPerms (System.IntPtr start, System.UInt64 len, MonoMod.RuntimeDetour.Platforms.DetourNativeLibcPlatform+MmapProts prot) (at <88b084d277f344aa9c2904c640976875>:0)
MonoMod.RuntimeDetour.Platforms.DetourNativeLibcPlatform.MakeWritable (System.IntPtr src, System.UInt32 size) (at <88b084d277f344aa9c2904c640976875>:0)
MonoMod.RuntimeDetour.DetourHelper.MakeWritable (MonoMod.RuntimeDetour.IDetourNativePlatform plat, MonoMod.RuntimeDetour.NativeDetourData detour) (at <88b084d277f344aa9c2904c640976875>:0)
MonoMod.RuntimeDetour.Platforms.DetourRuntimeILPlatform._HookSelftest (System.Reflection.MethodInfo from, System.Reflection.MethodInfo to) (at <88b084d277f344aa9c2904c640976875>:0)
MonoMod.RuntimeDetour.Platforms.DetourRuntimeILPlatform..ctor () (at <88b084d277f344aa9c2904c640976875>:0)
MonoMod.RuntimeDetour.Platforms.DetourRuntimeMonoPlatform..ctor () (at <88b084d277f344aa9c2904c640976875>:0)
MonoMod.RuntimeDetour.DetourHelper.get_Runtime () (at <88b084d277f344aa9c2904c640976875>:0)
MonoMod.RuntimeDetour.DetourHelper.Pin[T] (T method) (at <88b084d277f344aa9c2904c640976875>:0)
HarmonyLib.MethodPatcher.CreateReplacement (System.Collections.Generic.Dictionary`2[System.Int32,HarmonyLib.CodeInstruction]& finalInstructions) (at <88b084d277f344aa9c2904c640976875>:0)
HarmonyLib.PatchFunctions.UpdateWrapper (System.Reflection.MethodBase original, HarmonyLib.PatchInfo patchInfo) (at <88b084d277f344aa9c2904c640976875>:0)
HarmonyLib.PatchProcessor.Patch () (at <88b084d277f344aa9c2904c640976875>:0)
HarmonyLib.Harmony.Patch (System.Reflection.MethodBase original, HarmonyLib.HarmonyMethod prefix, HarmonyLib.HarmonyMethod postfix, HarmonyLib.HarmonyMethod transpiler, HarmonyLib.HarmonyMethod finalizer) (at <88b084d277f344aa9c2904c640976875>:0)
Needle.SelectiveProfiling.PatchBase+<>c__DisplayClass15_0.<Apply>g__Patch|0 () (at Library/PackageCache/com.needle.selective-profiling@cc592dcad0/Editor/Harmony/PatchBase.cs:46)
Needle.SelectiveProfiling.PatchBase.Apply (HarmonyLib.Harmony harmony) (at Library/PackageCache/com.needle.selective-profiling@cc592dcad0/Editor/Harmony/PatchBase.cs:87)
System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) (at <f78378fc25024256ba9c49776f5e810c>:0)
UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () (at /Users/bokken/build/output/unity/unity/Runtime/Export/Scripting/UnitySynchronizationContext.cs:153)
UnityEngine.UnitySynchronizationContext.Exec () (at /Users/bokken/build/output/unity/unity/Runtime/Export/Scripting/UnitySynchronizationContext.cs:83)
UnityEngine.UnitySynchronizationContext.ExecuteTasks () (at /Users/bokken/build/output/unity/unity/Runtime/Export/Scripting/UnitySynchronizationContext.cs:107)

Should this package work on MacOS or does it only have windows support?

wrymn commented 1 month ago

Yeah same here, not working on MacOS...