title: Get class static member function address in lldb during debugging: Interpreter couldn't resolve a value during execution
body: <p>During debugging in lldb I can get the address of global function without any problems. For instance, I have the following code:</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  void globalDoWork()
  {
      std::cout &lt;&lt; "Global do work call\n";
  }
  
  struct Dummy
  {
      static void doWork()
      {
          std::cout &lt;&lt; "Do work call\n";
      }
  };
  
  int main(int argc, char* argv[])
  {
      globalDoWork();
      Dummy::doWork();
  
      std::cout &lt;&lt; "global: " &lt;&lt; (void*)&amp;(globalDoWork) &lt;&lt; "\n";
      std::cout &lt;&lt; "static: " &lt;&lt; (void*)&amp;(Dummy::doWork) &lt;&lt; "\n";
  
      return 0;
  }
  </code></pre>
  
  <p>After build executable I run this program under lldb:</p>
  
  <pre><code>Process 10759 stopped
  * thread #1, queue = 'com.apple.main-thread', stop reason = step over
      frame #0: 0x00000001000011a7 ex43`main(argc=1, argv=0x00007ffeefbff8f0) at ex43.cpp:21:15
     18       globalDoWork();
     19       Dummy::doWork();
     20
  -&gt; 21       std::cout &lt;&lt; "global: " &lt;&lt; (void*)&amp;(globalDoWork) &lt;&lt; "\n";
     22       std::cout &lt;&lt; "static: " &lt;&lt; (void*)&amp;(Dummy::doWork) &lt;&lt; "\n";
     23
     24       return 0;
  Target 0: (ex43) stopped.
  (lldb) p globalDoWork
  (void (*)()) $0 = 0x0000000100001100 (ex43`globalDoWork() at ex43.cpp:4)
  (lldb) next
  global: 0x100001100
  </code></pre>
  
  <p>And get the address, but I can not the same action with class static member function:</p>
  
  <pre><code>static: 0x100001220
  Process 10765 stopped
  * thread #1, queue = 'com.apple.main-thread', stop reason = step over
      frame #0: 0x0000000100001208 ex43`main(argc=1, argv=0x00007ffeefbff8f0) at ex43.cpp:24:5
     21       std::cout &lt;&lt; "global: " &lt;&lt; (void*)&amp;(globalDoWork) &lt;&lt; "\n";
     22       std::cout &lt;&lt; "static: " &lt;&lt; (void*)&amp;(Dummy::doWork) &lt;&lt; "\n";
     23
  -&gt; 24       return 0;
     25   }
  Target 0: (ex43) stopped.
  (lldb) p Dummy::doWork
  error: supposed to interpret, but failed: Interpreter couldn't resolve a value during execution
  (lldb) p (void*)&amp;(Dummy::doWork)
  error: supposed to interpret, but failed: Interpreter couldn't resolve a value during execution
  </code></pre>
  
  <p>What's the problem? How I can do it?</p>