Activity overview
Latest activity by JasonC
SmartAssembly 6 EAP build 83 download
Red Gate is brewing a new version of SmartAssembly.
Download here:http://www.red-gate.com/MessageBoard/vi ... .php?f=116
Please post any comments or feedback in this forum.
Nice idea. However, I suspect we wouldn't be able to do it. We would have to either parse the code and guess what things mean, which would be very fragile; or store metadata about every word in the decompiled code during decompilation (which I believe is what you were suggesting), which would be v expensive it terms of time and memory, and v hard.
I'll ask Alex Davies, the developer of this feature, about this issue. / comments
Nice idea. However, I suspect we wouldn't be able to do it. We would have to either parse the code and guess what things mean, which would be very fragile; or store metadata about every word in t...
Unfortunately the 'Go to decompiled definition' from decompiled code does not work. This is due to a technical limitation - decompiled code has the same status as a code file opened in Visual Studio which is not associated with a project (e.g. as if you opened a .cs file from explorer). Visual Studio doesn't even try to parse the code, hence we cannot identify the item we need to go to.
Sorry for this, we'll try to make this limitation more obvious in future versions. / comments
Unfortunately the 'Go to decompiled definition' from decompiled code does not work. This is due to a technical limitation - decompiled code has the same status as a code file opened in Visual Stud...
This is correct. Reflector only works on .NET assemblies. It will disassemble managed C++, but not unmanaged C or C++. / comments
This is correct. Reflector only works on .NET assemblies. It will disassemble managed C++, but not unmanaged C or C++.
That's strange, thanks for the bug report! Can I just ask, is this for all methods (e.g. does it work for System.Console.Write("");?), or just for a particular assembly?
Also, do you have resharper installed?
Many Thanks / comments
That's strange, thanks for the bug report! Can I just ask, is this for all methods (e.g. does it work for System.Console.Write("");?), or just for a particular assembly?
Also, do you have resharpe...
This message means that the timebomb has gone off, because you are running it either 14 after the build date, or before the build date. There are a few possible reasons for this, (2) is most likely
1) You've changed your system clock to the future or past.
2) Version 484 isn't properly installed, and you're still using an earlier build, which has now expired. Run reflector.exe, and go to Help->About to ensure you're using version 6.0.0.484. Then go to Tools->Integration Options, and ensure the tick boxes for Visual Studio are ticked. Then re-run VS, and it should now work.
If this doesn't fix the problem, then we'll try something else. / comments
This message means that the timebomb has gone off, because you are running it either 14 after the build date, or before the build date. There are a few possible reasons for this, (2) is most like...
This can be easily done in ANTS Memory or Performance profiler. Just profile the NUnit executable (GUI or console) and test the DLLs normally. We have a knowledgebase article about this here: http://www.red-gate.com/supportcenter/C ... 000125.htm / comments
This can be easily done in ANTS Memory or Performance profiler. Just profile the NUnit executable (GUI or console) and test the DLLs normally. We have a knowledgebase article about this here:http...
Hi Andy. The current EA build does not have .NET 1.1 support. This has recently been added and will appear in the next EA build, which will be out shortly (maybe next week). Then you'll be able to profile .NET 1.1 applications - in IIS or otherwise.
We highly recommend using .NET 2.0 if possible. Microsoft put limited support for profiling in .NET framework 1.1, so profiling .NET 1.1 isn't as slick as profiling .NET 2.0. / comments
Hi Andy. The current EA build does not have .NET 1.1 support. This has recently been added and will appear in the next EA build, which will be out shortly (maybe next week). Then you'll be able ...
What method do you click on when you get this message? Is it Main()?
In this circumstance, this message is usually caused by PDBs that point to non-existant lines, much like using the #line directive in C#. In the case of a WPF app, this is usually the PDB referencing lines in the .xaml file which don't exist (eg #line FEEFEE is often used by Microsoft as a 'magic number' for debuggers).
So, I wouldn't really worry about this error message in this circumstance. It's just ANTS Profiler saying that the PDB refers to lines which don't exist.
Your 50% CPU issue is probably caused by something in the XAML, and not your code. Unfortunately, the debug data produced by XAML files is so poor that line-level profiling isn't usually effective, since we cannot find out which line corresponds to which IL instruction. Your best bet is probably to examine the stack traces and call graphs provided by the profiler.
I hope this helps! / comments
What method do you click on when you get this message? Is it Main()?
In this circumstance, this message is usually caused by PDBs that point to non-existant lines, much like using the #line direct...
ANTS profiler has two display modes, Wall-clock time and CPU time. A Thread.Sleep(1000) will have a wall-clock time of 1000ms and a CPU time of 0ms. A tight loop like your method MyPause should have a wall-clock time of 30s, and a CPU time of 30s (assuming the method runs for 30s).
Accept() is a method that runs for the entire length of a web-server. It just sits in the background, and does nothing virtually for the whole length of your program. It can safely be ignored. It should have a 'wall-clock time' of 30s (if your program lasts 30s), and a CPU time of near-zero. Hence both methods (accept and MyPause) run for 30s simultaneously, and so are both shown as taking 50% of the total time.
I imagine you would like optimize methods that take up a lot of CPU time, and ignore methods (like "Accept") that use no resources. Switching from 'Wall clock time' to 'CPU time' enables this. However, due to a bug in ANTS Profiler 4, the method Accept is not recognized as blocking, so will falsely give a high CPU-time. Please ignore this high CPU-time of 'Accept' when optimizing your code.
I hope this helps! / comments
ANTS profiler has two display modes, Wall-clock time and CPU time. A Thread.Sleep(1000) will have a wall-clock time of 1000ms and a CPU time of 0ms. A tight loop like your method MyPause should h...