JB

https://www.dropbox.com/s/1rfr13g7qjmfm4w/CecilDebugIssue.zip

So someone raised this bug with NPW
https://github.com/SimonCropp/NotifyPropertyWeaver/issues/15

And it turns out it effects the other MSBuild project where I use cecil.

It manifests as such...

Given this

[TestFixture]
public class AsyncTest
{
    [Test]
    public void TestAsynch()
    {
        AsyncDebuggerTest();
    }

    public async void AsyncDebuggerTest()
    {
        var test = await getTestString();
        //set breakpoint on next line and look at 'test' variable in 
debugger
        var test2 = test + test;
    }

    private async Task<string> getTestString()
    {
        return "test";
    }
}

you cant view the "test" variable in AsyncDebuggerTest

if I remove the async code I can view "test"

[TestFixture]
public class NonAsyncTest
{
    [Test]
    public void TestAsynch()
    {
        AsyncDebuggerTest();
    }

    public void AsyncDebuggerTest()
    {
        var test = getTestString();
        //set breakpoint on next line and look at 'test' variable in 
debugger
        var test2 = test + test;
    }

    private string getTestString()
    {
        return "test";
    }
}

See CecilDebugIssue project in the attachment for the above two classes


If I remove cecil from the equation I can view the "test" variable in the 
async case. See WithNoCecil project in attachment

I have included the bin+obj dir in the attachment so you can have a look at 
the pdb and dlls

my module reader code is here
https://github.com/SimonCropp/Fody/blob/master/FodyIsolated/ModuleReader.cs
and my module write code is here
https://github.com/SimonCropp/Fody/blob/master/FodyIsolated/ModuleWriter.cs

is this enough to go on?  I know it is a complicated repro but I am hoping 
it is enough for you to go on.

Regards 
Simon

-- 
--
mono-cecil

Reply via email to