GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - UnityAlex/UnityMixedCallstack: Visual Studio native debugger extension to help debug native applications using Mono.

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

38 Commits
38 Commits

Folders and files

NameName
Last commit message
Last commit date
Images
Images
 
 
Properties
Properties
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
FuzzyRangeComparer.cs
FuzzyRangeComparer.cs
 
 
LICENSE.txt
LICENSE.txt
 
 
README.md
README.md
 
 
UnityMixedCallstack.csproj
UnityMixedCallstack.csproj
 
 
UnityMixedCallstack.sln
UnityMixedCallstack.sln
 
 
UnityMixedCallstack.vsdconfigxml
UnityMixedCallstack.vsdconfigxml
 
 
UnityMixedCallstackFilter.cs
UnityMixedCallstackFilter.cs
 
 
packages.config
packages.config
 
 
source.extension.vsixmanifest
source.extension.vsixmanifest
 
 

Repository files navigation

Unity Mixed Callstack

UnityMixedCallstack is a Visual Studio 2015/2017 extension to help debug native applications embedding Mono, like Unity.

Mono doesn't generate debug symbols that Visual Studio understands for jitted functions.

As a result, Visual Studio can not show anything meaningful for managed stack frames.

This fork of PmipMyCallstack has been developed for developers at unity-technologies and support has been added to our clone of mono, which can be found here https://github.com/Unity-Technologies/mono

This version requires you to set the UNITY_MIXED_CALLSTACK environment variable before launching visual studio and before launching Unity (or using our mono standalone), which will tell the mono runtime to write out each jit'd function to a file.

The original PmipMyCallstack plugin created by JB Evain would call the function mono_pmip on every frame that doesn't belong to a module to show a meaningful representation of the stack frame and display it natively in the call stack window. This plugin does the same thing, but instead of calling over ipc, mono writes a file with the jit information and we lookup the IP from that. This allows us to open much larger callstacks, and many frames without visual studio hanging for a long time (an issue since Unity has so many threads).

In this version we also display the module the managed code belongs to. This gives you a nice callstack to look at in visual studio.

Remember, you need to disable Just My Code in the debugger options (Debug -> Options...) to expand the [External Code] entry in the callstack.

Before

Before Unity Mixed Callstack

After

After Unity Mixed Callstack

About

Visual Studio native debugger extension to help debug native applications using Mono.

Resources

Readme
MIT license
Activity

Stars

1 star

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.