5 Replies Latest reply on Aug 16, 2007 1:53 AM by xnicholas

    CodeAnalyst forum

    Blakar
      We should have a dedicated CodeAnalyst forum

      Hi,

      I think we should have a separate forum to discuss CodeAnalyst and it's usage. A lot of things are not clear from the documentation and I'd like to learn how to make better use of it. Still, without a doubt, CodeAnalyst is wonderful tool!

      My personal experience upto now:
      I've, after dealing with a few issues, managed to get CodeAnalyst running to profile Windows builds (with optimisations turned on) of Second Life. Second Life is a huge project but CodeAnalyst manages wonderfully. I can do my EBP and TBP traces and zoom up to asm/source level. It truely helps to pinpoint hotspots and work on them.

      I must say: For me CodeAnalyst is a product that'll influence my future platform choices as it'll be hard to part from it!

      Dirk
        • CodeAnalyst forum
          leiy
          Dirk,
          We are in the process of re-writing help documentation for next version of CodeAnalyst. Would you please provide more details on which part of documentation is not clear? That will help us enhance it.
          Thanks,
          -Lei
          • CodeAnalyst forum
            Blakar
            Lei, the documentation is currently rather short and lacks technical details on how CodeAnalyst picks up things. Two examples:
            - According to the documentation it's fine to compile your application with /Zi though if I do so CodeAnalyst is not able to identify the process (e.g. Second Life) and as such it can't read debug info. I've discovered that compiling the .cpp containing the main with /ZI is enough for it to work again. Off course I'd rather find out why /Zi is an issue as /ZI is not ideal because it also affects COMDAT optimisations. So what exactly does CodeAnalyst need to identify a process?
            - Documentation on CSS is lacking as to how exactly it works. As such it's impossible to troubleshoot the fact that no meaningful results can be gotten. If I turn on CSS for Second Life there's nothing except for some info on calls in a third party dll. For the Second Life exe itself I get no info at all. This while CSS is a very interesting feature to have in a sampling based profiler as it should not give a big performance loss. So what does CodeAnalyst expect of a stack and related info in order to be able to gather traces?

            EDIT: my work around just proved to be incomplete. Now it's giving me "unknown module pid" again ... Even though I'm still compiling in the exact same way ...

            EDIT 2: and now it works ok again ... All compilations are done with /Zi now but I've changed the linker options so that it creates a relocation table. This seems to help. As a bonus it also allows me to use /OPT:REF and /OPT:ICF
              • CodeAnalyst forum
                leiy
                If CodeAnalyst shows unknown module PID, that means CodeAnalsyt cannot map the sample into a proper process or module in the process. Normally it happens in case JIT is generated at runtime without notification. Can you reproduce this with Second Life client? If so, I want to download it and try to reproduce the issue.

                That should have nothing to do with /Zi or /ZI options. Those option only impact the symbol or source line info etc.

                -Lei
              • CodeAnalyst forum
                xnicholas
                I agree.
                • CodeAnalyst forum
                  xnicholas
                  I am very happy that AMD has provided a forum specifically for CodeAnalyst!

                  CodeAnalyst is a great tool!