title: Will pdb files generated on one windows machine work on another windows machine
body: <p>I'm implementing a simple c++ profiler to find the function execution time.
  I'm using visual studio 2017 to build my application. I've set _penter &amp; _pexit hooks and trying to get the function name from the address when the hooked methods are invoed. </p>
  
  <p>I'm able to get the function name when I run the application in the same machine in which I build the applicatioin. But it doesn't work when I copyand run it on another machine. When I checked GetLastError() error it showed the error "Attempt to access invalid address". I spent some time and found that this happens because of the pdb file. If I build the application on the other machine then it works.</p>
  
  <p>Below is the code which I'm using to get the function name from the address</p>
  
  <pre><code>    TCHAR  buffer[sizeof(SYMBOL_INFO) + MAX_SYM_NAME * sizeof(TCHAR)] ;
      memset(&amp;buffer,0,sizeof(buffer));
      PSYMBOL_INFO    pSymbolInfo = ( PSYMBOL_INFO)buffer;
      pSymbolInfo-&gt;SizeOfStruct = sizeof(SYMBOL_INFO) ;
      pSymbolInfo-&gt;MaxNameLen = MAX_SYM_NAME;
      BOOL bResult = SymFromAddr(GetCurrentProcess(), (DWORD64)pa, &amp;symDisplacement, pSymbolInfo);
  </code></pre>
  
  <p>Please help me to understand the issue in the above case. Will the pdb file generated on one machine will not support/work in another machine? If no, how should I build the application with pdb file to work on all machines.</p>