2004  5  27 ո


      Sun Studio 9ܷļ


            Ŀ¼

       1. 
       2.  IDE ܷ
       3.  Sun Studio 9C ܷ
       4. Ժ͸ĵ
       5. 
       6. ͽ취
       7. ƺͲ
       8. ĵ
       9. ҪĲ

     

    ------------------------------------------------------------------------


            A. 

    ĵй SunTM Studio 9 Ϣܷ渽
    Ϣܷͷ߰ռͲݵ
    һͼû棬Լʾݵнӿ er_print
    ĵʹõռָռݼĹߡЩ
    ָ collect dbx collector Լ IDE еռܡ

    ĵ˴˷а汾¹ܺг֪⡢
    ƺͲԡĵеϢºչֲеϢ

     Sun Studio 9 汾ܷҪ֤ʹ snit 
     [кŰװ]  װк֤йϸϢμ
    snit(1) ֲҳ

    Ʒĵ

        * Solaris ƽ̨ķ˵ͨ Sun Studio 9 վ
          http://developers.sun.com/tools/cc/documentation/ss9_docs/release_notes.html
          ô˷˵˵еϢºչļе
          Ϣ
        * Linux ƽ̨ķ˵ͨ Sun Studio 9 վ
          http://developers.sun.com/tools/cc/documentation/ss9_docs/Linux_release_notes.html
          ô˷˵˵еϢºչļе
          Ϣ
        * Sun Studio 9 ĵƷֲҳļ HTML 汾Լֲ
          Դ /installation_directory/docs/index.html зʡSolaris
          ƽ̨ϵȱʡװĿ¼ /opt/SUNWsproLinux ƽ̨ϵȱʡװĿ
          ¼ /opt/sun/sunstudio9
        * IDE ĵSun Studio 9 IDE ɴ IDE е [
          ] ˵зʡ
        * ԱԴŻйؼ¡ĵ֪ʶ⣬μ
          ԱŻַhttp://developers.sun.com/prodtech/cc

    ע⡪ Sun Studio 9 ͹δװȱʡ /opt Ŀ¼Уѯ
    ϵͳԱԻϵͳеĵȼ·

     

    ------------------------------------------------------------------------


            B.  IDE ܷ

    Ҫ IDE  [ܷ]ִĳһ

        *  [] ǩȻѡ [] > [ļ] > [ʵ
          ]ڷе [ʵ] ťʵ
          ڡ
        *  IDE  [Դ] ˫ʵ顣
        *  IDE  [Դ] Ҽĳʵ飬ȻĲ
          ѡ [ʵ]  [ʵ]

    Ҫ IDE д [ռ] ڣִ²֮һ

        *  [] ǩȻ󵥻 [ܷ] е [ռʵ] 
          ť
        * Ҽ [Դ] еĿִļĲ˵ѡ [
          ܹռ]

     

    ------------------------------------------------------------------------


            C.  Sun Studio 9ܷܷ

    а Sun Studio 9ܷвϵͳ

        * SolarisTM ϵͳSPARC&#174; Platform Edition汾 8  9
        * Solaris ϵͳX86 Platform Edition汾 8  9
        * Java Desktop System 1.0
        * SuSE Linux Enterprise Server 8
        * RedHat Enterprise Linux 3

    ܷռܵͳƷļٶԹؼ̵ĵò
    Աͼηʽʾݡռݽתܶڼض
    󼶡ԴмָԱʽ鿴Щṩ
    ṹķʽڵԴռáЧʻʱӳٵĴбʶ
    ·ܷ GUI ʱʾʾݡ

    ˷а汾ܷռ Java  (JVM)еĻ֧֣
     JavaTM ԱдӦóз2003  10 ·е
    JVMTM 汾 1.4.2_02 а֧֧֡Ժ JVM 汾п
    ġøߵ JVM 汾ʹô˰汾ܷռռ
    п޷ռ Java ԱдӦóķϢSun ˾ϣ
    Ժܷռķа汾ܹ JVM  µ
    ֧ Java 

     

    ------------------------------------------------------------------------


            D. ͸ĵĹ

    ˱а汾ܷ¹ܺ͸Ĺܡ

    ע⡪ Sun Studio 9 ͹δװȱʡ /opt Ŀ¼ѯϵ
    ͳԱ˽ϵͳеʵʰװ·

       1. ½ Linux ַϵͳ
       2. ݿռ
       3. 
       4. ռض
       5. в
       6. ½ API 
       7. ˵ļ֧ Collect 
       8. ʵԤʵе˵
       9. ǿԴͷʾ
      10. ǿ er_src 
      11. Java ǩ
      12. Ѹʱ mmap 

       1. ½ Linux ַϵͳ

          ڿ Sun Studio 9 for Linux ʹܷ Sun
          Studio 9 for Solaris ⡣֧ Linux ϵͳ

              * Java Desktop System 1.0
              * SuSE Linux Enterprise Server 8
              * RedHat Enterprise Linux 3
          ϵͳϿõĹó֮ͬͬ Linux 
          ϵͳв er_kernelcollect  Linux Ͼиơ
          ֻлʱӵķͶѸٲſãйϸϢμռֲ
          ҳ Linux ֮¿Խж߳ӦóķĿǰ
          Linux ϵͳ RedHat 汾֮½зʱֺܸߵƫ

       2. ݿռ

          ݿռ SPARC ƽ̨ C ݿռ
          ڴص¼ݼϣ绺δн¼
          ݶãǷڴ¼ָ

          ݿռķϢʾл GUI Уʾ

              * er_print ӵݿռصѡУ
                data_objectsdata_osingle  data_olayout
              * ڰݿռصıǩֱΪ
                ݶ󡱺͡ݲ֡ݿռʵ
				УԶʾЩǩ

          йϸϢμ analyzer(1)collect(1)  er_print(1) 
          ҳ

       3. 

          ̵ļ¼ѻǿ¼к̵
          ʹ fork  exec ̡Ϊ֧ǿĹܣ
          collect -F ӵһѡcollect -F all F all 
           F on ĺ system ãддĸc

          ȷѡҪͨйó er_print  GUI ʾ
          ̵ݡ

          йϸϢμ collect(1) ֲҳ

       4. ռض

          collect ӵһѡ collect -O ļʹøѡԽ
          collect ضΪļļܴӲĿ
          ض

       5. в

          űڽܶԳʹ˫ۺţ
          --jdkhome  --fontsize

       6. ½ API 

           API Ĺѷ뵥У˿Զɵ
          зַ

       7. ˵ļ֧ Collect 

          collect ӵһµѡcollect -C ע͡עͽ
          ӵʵ˵ļСӦ 10  -C 

       8. ʵԤʵе˵

          ʵԤʵ⽫ʾʵκ˵ļݡ

       9. ǿԴͷʾ

          ע͵ԴͷѾԴĴĴʽ˸
          Ժɫбʾбʾһļʲôλò롣
          ʹ [Դ] ǩϵ꼴ԴļдԴڡ

      10. ǿ er_src 

          йó er_src ڿʾһб Java
          .class ļԼͨԴʾԴͷࡣ

      11. Java ǩ

          Java Ƹʽʾķǩǵĺơ

      12. Ѹʱ mmap 

          ڽжѸʱ mmap ĵýΪڴ䡣

     

    ------------------------------------------------------------------------


            E. 

    дѱ

       1. ò鿴ʱ׳쳣
       2. Уڷдʵʱת
       3. SISEGV error in liber_dbe.so  Java ʵʹ -j off ͹
          ʱ liber_dbe.so г SISEGV 
       4. ֶװ libjvm ɶص͡δ֪档
       5. ̵Ϣ
       6. ضչջʱܷ er_print ָʾ
       7. ȸ data_objects data_olayout 
          data_osingle ʶṹ
       8. ǿɷԭʼʹ -A copy ԭʼ鵵򷴻
          ȷĵá
          . 

    ------------------------------------------------------------------------


            F. ͽ취

    ֪⼰ܵĽйظϢ鿴
    ԱŻеϢַhttp:
    //developers.sun.com/prodtech/cc/support_index.html

    ĳЩ Solaris ϵͳģͨװӦĲ
    ޸ϢμļеıҪĲ򲿷֡ĳЩ
	ܷгֵĴʵռĴ󡣱 dbx еĴҲ
	ӰֻܷĳЩڴµ⡣

        * ܹߵĴ
        * Linux ضܹߴ
        * ʹ Solaris ϵͳ޲Ը
        * 

    ܹߵĴ

       1.  ûµ Java Java ܱ

       2.  Java ͬٺͶѸٿܻ⡣

       3.   dbx ²֧ Java 

       4.  ڲͬڼ Java ܶʧݡ

       5.  ޷ӡ [] ǩ [¼] ǩݡ

       6.  ڲָظ

       7.  Ǹɫѡͼ

       8.  er_print óҵ̫Ƶĺ

       9.  вͬϵṹĿڹ鵵ʱ޷ȷ

      10.  ޷ӵ dbx Ựжʵ顣

     

       1. ûµ Java Java ܱ

          ʹ 1.4.2_02 ֮ǰ JVM е Java ܻ JVM 
          Ĵʧܡʹ 1.4.2_02 ֮ǰ JVM  Intel ƽ̨
           Java ʧܣʹý JVMʵдһ
          ϢJava Դ 475767247629584763610
          480815148121964505739

       2. Java ͬٺͶѸٿܻ⡣

          Java ͬٺͶѸٿܻ⣬رڴʹöѸ
          Ĵʵʱ

       3.  dbx ²֧ Java 

          Ϊ JVM ޷ֵ֧ԴͷԲ֧ʹ dbx 
           Sun Studio IDE еռͼν Java  (4771337)

       4. ڲͬڼ Java ܶʧݡ

          ռݡ system.* ȴڼʱ
          ڣռܻᶪʧݡJVM ʱڲչ Java
          ջʱ¼캯 <no java callstack recorded>
          (4824989, 4762954)

       5. ޷ӡ [] ǩ [¼] ǩݡ

          ܷ޷ӡժҪǩ¼ǩеݡҪӡ
          ժҪݣʹ er_print  (4286674)

       6. ڲָظ

          ڲԱָע͵ԴʽĶظ㡣
          ԴеĲ dofor γĶȷġں
          ҲһЩظ (4656193)

       7. Ǹɫѡͼ

          ɫ󲢲Ǹɫѡͼ塣ɫѡͼ岻
          [й©б]ǩȷá (4948522, 4825896)

       8. er_print óҵ̫Ƶĺ

          er_print óԴͷбʾ̫ĸƺ
           (5033124)

       9. вͬϵṹĿڹ鵵ʱ޷ȷ

          ͬƵϵṹͬĿʹ collect -A copy ʱ
          ȷơ (4970739)

      10. ޷ӵ dbx Ựжʵ顣

          Դӵ dbx Ựжʵʧܡ (4999242)

     

    Linux ضܹߴ

       1.

          Ӳ̵߳ MP ټ

       2.

          Java ʾ JVM ķ뻯

       3.  Sample Data for MP Programs May Be Incorrect

     

       1. Ӳ̵߳ MP ټ

           Linux  Red Hat  SUSE 汾ϻִ⡣ (5020387)

       2. Java ʾ JVM ķ뻯

          òֵ֧Ĺ GNU 2.x  JVM 1.4.2_02  JVM Ժ 1.4.x
          汾ʱִ⡣޴ţ

       3. MP ʾݿܴ

          CPU ʱʾʱ䲻һ¡ (5025963)

     

    ʹ Solaris ϵͳ޲Ը

    дͨ Solaris ϵͳаװӦĲ޸
    ϢμļеıҪĲ򲿷֡

       1.

          ӲڼӦó

       2.

          LWP Ļʱӵݶʧ

       3.

          Ӳж϶ʧ

       4.

          װϵͳĻʱӵò׼ȷ

     

       1. ӲڼӦó

          ĳЩ£HW жϻ UltraSPARC-III ϴ
          ϵͳɵ %y ĴƻʱĴڻ
          ״̬Ӧóܱһ Solaris 8 ϵͳ  HW2
          update  Solaris 9 ϵͳ update 4 ѱͨϵͷ
          ʵķ/ʹõķƵʱˡ
          (4793905)

       2. LWP Ļʱӵݶʧ

          ĳЩ£һ LWP ķж (SIGPROF) ܶʧ
          취ʹð̣߳ǰ Solaris 8 ϵͳ
          Уʹ /usr/lib/lwp е߳̿⡣߳̿ʹð
          ̣ʹַ֧ǰ߳ API ˡ (4352643)

       3. Ӳж϶ʧ

          ʹ÷ǰ߳ʱӲµж
          (SIGEMT) ʱᶪʧ޷ָ취ʹð̣߳
          ǰ Solaris 8 ϵͳУʹ /usr/lib/lwp е
          ߳̿⡣߳̿ʹð̣߳ʹַ֧ǰ߳ API
          ˡ (4352643)

       4. װϵͳĻʱӵò׼ȷ

          ϵͳܸʱӦóзɵټû CPU ʱ
          䣬ɴ 20%ȱٵġû CPUʱʾΪϵͳ CPUʱ
          ȴ CPUʱ䡣 (4509116)

     

    

       1.  װźŴӦóı仯Ϊ

       2.   dbx ӵʱռ

       3.  ͳʾͳ [ȴ CPU] ȵĴֵ

       4.  ʱڵʱӷݶʧ

       5.  ջɵռֹ

       6.   exec δʵ顣

       7.  βŻʱʾٵݹ顣

       8.  ҪŻʱʾٵݹ顣

       9.  java.util.prefs.FileSystemPreferences ϢĽ취

      10.  ӦóڶеĶ libmtsk.a 

     

       1. װźŴӦóı仯Ϊ

          ڰװźŴӦóռݻᵼռӦó
          Ϊı䡣ڼλãռ⽫ʵм¼һϢ

          ԤռʱռźŴǽ䱾Ϊ
          °װʹõźŴݸκδ򡣵ǣ
          жϵͳãװжϵͳõźŴӦ
          ʾıΪ첽 I/O  libaio.soʹ SIGPROF
          첽ȡ첽ȡԺ󵽴 (4397578)

           dbx ӵӦóûԤռ⣬ռ
          ʱռὫźŴװΪ򡣲κ
          װźŴռźŴźŴ
          ûн SIGPROF  SIGEMT źŴݵռźŴ
          ݽʧ

       2.  dbx ӵʱռ

           dbx ӵһеĽ̶ûԤռ
          libcollector.soֶܳ

              *

                ޷ռκθݣͬȴ١Ѹٻ MPI ١
                ͨԸвռġδԤ
                libcollector.so޷ִв

              *

                 dbx ӵ̺װźŴ򣬲Ҹź
                򲻴 SIGPROF  SIGEMT źţݺͳ
                ݽʧ (4397578)

              *

                ʹ첽 I/O  libaio.soʱӵķݺ
                ݽʧΪ libaio.so ʹ SIGPROF ִ첽ȡ
                

              *

                ʹӲ libcpc.soӲ
                ʵ齫ᱻƻΪռͳʹøÿ⡣ڽ
                dbx ӵ̺Ӳ⣬ֻҪͨ
                 libcpc.so  libcpc ⺯ãӲ
                ʵ˳С

              *

                 setitimer(2)ռͳͬʱʹö
                ʱܻʹʱӵķʵжϡ

       3. ͳʾͳ [ȴ CPU] ȵĴֵ

          ڳȫͳʱ¼ĵȴ CPU ֵЩֵ
          ܷ [ͳ] ǩУӰ [ʱ] ǩг
          ʾ (4615617)

       4. ʱڵʱӷݶʧ

          ϵͳʱⲿԴͬʱʱӷݻᶪʧӵʱ䡣
          ʱϵͳʱӻֱﵽͬźŰ趨ʱ
          ڷм¼ʱڷźŵļʱõ
          κ

       5. ջɵռֹ

          ʱռջʧܡԭռʹ
          ӦóջӦóջĴС㣬²ɸռʹ
          á취ջĴС 8 KBϸϢμ
          limit(1) ֲҳʹöĲӦóҲʹû
           STACKSIZE ÿ̵߳ջС

       6.  exec δʵ顣

          ɹռݵĳ exec(2) κα壬ʵ齫
          쳣ֹܷͨ er_print ȻԶȡʵ飬
          ӦռݵļΪʵ er_archive(1)ȷó
          ʹõļضܱȷ鵵

       7. βŻʱʾٵݹ顣

          ĳЩԹPIC 룩βòҪȷȫƫƱ
          ַȫֱĺŻĴ뱻رΪݹ飬
          ʵ߶ʧˡ (4656890)

       8. ҪŻʱʾٵݹ顣

          ͨΪִеĴ봴ҪŻʱܻʾݹ
          Ϊ޷жϸҪķصַ (4800953)

       9. java.util.prefs.FileSystemPreferences ϢĽ취

           java.util.prefs.FileSystemPreferences Ϣ볢
          Ľ취

              %cd /usr/j2sdk1.4.1_01/jre JRE Ŀ¼
              %mkdir .systemPrefs
              %chmod 777 .systemPrefs

      10. ӦóڶеĶ libmtsk.a 

          ˶󣨾ж libmtsk.a Ӧó
          collect 취ڵ collect ֮ǰû
           LD_BIND_NOW4881093 4877490

     

    ------------------------------------------------------------------------


            G. ޺Ͳ

    ϵͳƺͲݡ

       1.  ܷҪ

       2.  ߳Ӧó

       3.  ʹJava ԱдӦóз

       4.  Ӳ

       5.  

       6.  ԴļĿļ

       7.  ʵ鲻

       8.  ʹ setuid

     

       1. ܷҪ

          ܷҪ Java 2 ߰׼棩汾
          1.4ʹڰ汾ܷУʧܣǹ
          ִܳлҡ

       2. ߳Ӧó

          ʽĶ̣߳ʹ libthread.soӦóռʵ
          ʱ Solaris 9 ϵͳ Solaris 8 ϵͳʹý
          libthread ⣨/usr/lib/lwp/libthread.so 
          /usr/lib/lwp/64/libthread.soռ Solaris 7 
          ϵͳ Solaris 8 ʹȱʡ libthread ⣬ϵͳᷢ
          棬ʾݿܻʧ档

       3. ʹ Java ԱдӦóз

          Ҫ Java ԱдӦóռ Java ģʽģʽ
           ݣʹ Java 2 ߰ı׼棬Ұ汾
          õ 1.4.2_02JVM дڵĴܻʹκ
           1.4.2_02  汾ʱֳϡ

          Ϊȡ Java ģʽЧӦʹܵõ Java
          2 ߰׼°汾

       4. Ӳ

          UltraSPARC&#174; III ϵǰ UltraSPARC&#174; ֧Ӳ
          

          Solaris 8 а汾ǰĸ汾Ĳϵͳ֧Ӳ

          ĳЩڰ汾 UltraSPARC&#174;III Ӳֻ֧û DTLB  ITLB
          δеķǽ֧ںģʽ TLB 

           cputrack ϵͳУ cputrack Ӳ
          ƣռռӲݡ

       5. 

          ռڸϵͳִвźŴfork  exec
          áӲԼĳЩʱȷռЧݡ
          ʹЩеһΪܸı䡣
          ʱӲ÷ʱԳ򲻿ãͬʱźŴͶ
          жϵͳáΪӰ첽 I/O  libaio.so ʹãÿ
          źŶжϵͳá dbx ӵһеĽ̶
          ûԤռ libcollector.soȻռЩ
          벻ᷢ

       6. ԴļĿļ

          ӵʱɵĿִļƿܾ·
          Ǿ·߼ʹǾ·ܷҲɷ
          ʡƵڴӹ鵵ļ (.a) Ŀļʱ

          [ܷ] ӿִļĿļм¼·ȡ
          һ "/" ֮ƣ·ʽļ

             1.  addpath  setpath ṩĿ¼ [ݱ
                ʾ] Իܷ [·] ǩõ·£
                ˳ļȱʡ setpath Ϊ

                    A. ʵĹ鵵Ŀ¼
                    B. ǰĿ¼ ./<basename> 

             2. 2. ʹԭʼ¼·ļ

          ޷ҵļһ򾯸棬ʾʵԭȳֵ·

          Ҫʹ [ܷ] ܹҵԴļԽļĿ¼
          ӵ·һӵǰĿ¼ָļʵλõķӣ
          ⻹ԽļƵʵ顣

       7. ʵ鲻

          ܷܼ ForteTM Developer 7 а汾
          汾ʵ顣

       8. ʹ setuid

          ̵ setuid ִ setuid ļܻȨ
          ռʵʧܡ

          йռƵϸϢμ collect(1) ֲҳ

     

    ------------------------------------------------------------------------


            H. ĵ

    ĿǰûµϢ

     

    ------------------------------------------------------------------------


            I. ޲

    ܷߵĳЩ Solaris ϵͳеĴҪ޸
    ЩӦðװصĲҪñҪĲб
    ʾ¼벻 collect Դ
    http://sunsolve.sun.com ءĿǰʹõ Solaris 8 ϵͳ
    ڰװ֮ǰӦȰװ update 5 һ°汾

    ûаװ޲ǰ[ռ]  [ܷ] ܻ⣺

        * ʹ libaio ͵ aio_cancel() ĳռڼֹͬʱ
          ʾִϢ

dbx:Cannot read status for 1@1--No such file or directory
dbx:Warning:proc state race condition encountered! 

        *

          ռڼ䣬ִ߳̿ļ SEGVתʱ
          ߳̿Уʱ SIGPROF źŵ sigacthandler() ڡ

        * ִ߳̿ļռڼʧܣʾ dbx Ϣ
          һгϢݵϢ

generic libthread_db.so error

        *

          ִ߳̿ļռڼܻٽźŴص
          libthread Ӧʧܡ

        *

          ִ߳̿ļݿܶʧΪĳЩ㣬߳̿˷
          źкݶʧ

        *

          ദӦó÷ǰ߳ʱӲ
          µж (SIGEMT) ʱᶪʧ޷ָ

        *

          ĳЩ£һ LWP ķж (SIGPROF) ܶʧ
          ʱʾݲЩ LWP е̵̷߳߳ļ
          ͨ Solaris 7 ϵͳʹ÷ǰ߳ʱ

        *

          ʹö 32  CPU ̵߳Ӧóڽռʱ
          ٶȿܺ

        *

          ĳЩ£HW жϻᴥϵͳɵ %y
          ĴƻʱĴڻ״̬Ӧóܱ

     

    ------------------------------------------------------------------------

    Ȩ (c) 2004 Sun Microsystems, Inc., 
    Ȩ֤ʹá

