Cannot obtain value of local or argument ‘variableName’ as it is not available at this instruction pointer, possibly because it has been optimized away

… onde variableName é o nome da variável local ou parâmetro cujo valor você deseja inspecionar.

 

 

Na palestra do sábado passado (19/Mai/2010) eu falei sobre o acesso ao código-fonte do .NET Framework.

Um dos problemas quando você dá step-into o código do .NET Framework é que muitas vezes os valores das variáveis locais e parâmetros não são exibidos.

Isto ocorre por conta de otimizações feitas durante a compilação JIT.

Shawn Buke, um dos responsáveis pela liberação do código do Framework, postou sobre como resolver isto no começo de 2008.

http://blogs.msdn.com/b/sburke/archive/2008/01/29/how-to-disable-optimizations-when-debugging-reference-source.aspx

 

Eu já tinha cruzado com este artigo e até twitei a respeito, mas os twits se “perdem” com o tempo. Por aqui vai ficar mais fácil de encontrar.

Published by

Alfred Myers

I have been interested in computers since I got my hands on a magazine about digital electronics back in 1983 and programming them has been paying the bills since 1991. Having focused on Microsoft-centric technology stacks for the best part of two decades, in recent years I’ve been educating myself on open source technologies such as Linux, networking and the open web platform.