JB
So someone raised this bug with NPW
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
and my module write code is here
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