Intel┬о рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE 2013: рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдСрдЯреЛ рд╕рддреНрдпрд╛рдкрди рдФрд░ рдбреАрдмрдЧрд┐рдВрдЧ



рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдПрдХ рдЕрднрд┐рдиреНрди рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдЦреБрдж рдХреА рджрд┐рдирдЪрд░реНрдпрд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рд░ рдХреЛрдИ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рдФрд░ рдпрджрд┐ рдЖрд╡реЗрджрди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдШрд░-рдирд┐рд░реНрдорд┐рдд рдкрд░реАрдХреНрд╖рдг рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рд╣рдореЗрд╢рд╛ рдЙрдирдХреЗ рд▓рд┐рдП рдХрд╡рд░ рд╣реЛрддреА рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрдореЛрд░реА рд▓реАрдХ рдпрд╛ рдбреЗрдЯрд╛ рд░реЗрд╕ рдХреЗ рд▓рд┐рдП? рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЕрдкрдбреЗрдЯреЗрдб рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE 2013 рдХреЛ рджреЛ рддрд░реАрдХреЛрдВ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рджреЗрдЦреЗрдВрдЧреЗ:



рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?


рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдПрдХреНрд╕рдИ рдЗрдВрдЯреЗрд▓ рд╕рдорд╛рдирд╛рдВрддрд░ рд╕реНрдЯреВрдбрд┐рдпреЛ рдПрдХреНрд╕рдИ рд╕реЗ рдПрдХ рдХреЛрдб рд╢реБрджреНрдзрддрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдЙрддреНрдкрд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЖрдкреВрд░реНрддрд┐ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдореЗрдореЛрд░реА рдПрд░рд░ (рд▓реАрдХ, рдЕрдирдХрдВрдлрд░реНрдЯреЗрдмрд▓ рдореЗрдореЛрд░реА рддрдХ рдкрд╣реБрдВрдЪ рдЖрджрд┐) рдФрд░ рд╕реНрдЯреНрд░реАрдо (рдбреЗрдЯрд╛ рд░реЗрд╕, рдбреЗрдбрд▓реЙрдХ рдЖрджрд┐) рдХреЗ рдЗрдВрдЯрд░реЗрдХреНрд╢рди рдХреЗ рдХрд╛рд░рдг рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдирд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реНрд╡рдпрдВ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рдпрджрд┐ рдХреЛрдИ рд╕рдВрднрд╛рд╡рд┐рдд рдЧрддрд┐рд░реЛрдз (рдЧрддрд┐рд░реЛрдз) рд╣реИ, рддреЛ рдирд┐рд░реАрдХреНрд╖рдХ XE рдЗрд╕реЗ рддрдм рднреА рдкрд╛рдПрдЧрд╛ рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдо "рд╣реИрдВрдЧ" рдирд╣реАрдВ рд╣реЛрддрд╛ (рд▓реЗрдХрд┐рди рдХреЛрдб рд╢рд╛рдЦрд╛ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ) рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред



рдирд┐рд░реАрдХреНрд╖рдХ рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рдирд┐рд░реАрдХреНрд╖рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрд╡реЗрджрди рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдХреИрд╕реЗ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореБрдХреНрдд рдХрд░рддрд╛ рд╣реИ, рдереНрд░реЗрдб рдмрдирд╛рддрд╛ рд╣реИ, рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЖрджрд┐, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдкрд╛рдИ рдЧрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ:



рд╕реНрд░реЛрдд рджреГрд╢реНрдп рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:



рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрдВрдЯреЗрд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдПрдХреНрд╕рдИ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ, рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ, рдЖрджрд┐ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╣рдо рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд╕реНрдкрд░реНрд╢ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рд╡реИрд╕реЗ, рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE C / C ++, C #, рдФрд░ рдлреЛрд░рдЯреНрд░рд╛рди рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рджреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз: рд╡рд┐рдВрдбреЛрдЬ * рдФрд░ рд▓рд┐рдирдХреНрд╕ *ред рджреЛрдиреЛрдВ рдореЗрдВ рджреЛ рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реИрдВ: рдПрдХ рдЬреАрдпреВрдЖрдИ рдФрд░ рдПрдХ рдХрдорд╛рдВрдб рд▓рд╛рдЗрдиред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдпрд╣ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ * рдореЗрдВ рднреА рдПрдХреАрдХреГрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХрд┐рд╕реА рднреА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рджреЗрдЦреЗрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рди рджреЗрдВ:


рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг


рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE - рд╕рддреНрдпрд╛рдкрди рдЙрдкрдХрд░рдгред рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рд╕реНрдерд┐рд░рддрд╛ рдХреЛ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд╕рддреНрдпрд╛рдкрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рд░рд╛рддреЛрдВрд░рд╛рдд рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдирд┐рд░реАрдХреНрд╖рдХ рдХреЛ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯреВрд▓ рдХреЗ рдХрдорд╛рдВрдб рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд▓рд┐рдирдХреНрд╕ * рдФрд░ рд╡рд┐рдВрдбреЛрдЬ * рдХреЗ рд▓рд┐рдП рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE рдХрдорд╛рдВрдб рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕рдорд╛рди рд╣реИред рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЯреЗрд╕реНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:

inspxe-cl -collect mi3 -knob resources=true -knob still-allocated-memory=true -knob stack-depth=16 -knob analyze-stack=true -- D:\tests\testapps\mem_error.exe 

рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╣рдореЗрд╢рд╛ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рд╣реА рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ - "рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░-рд╕реАрдПрд▓"ред "-рдХрд▓реНрдЯ" рдХреБрдВрдЬреА рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, "-mi3" - рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдкреНрд░рдХрд╛рд░ (рдореЗрдореЛрд░реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ, рдпрд╛ "рдореЗрдореЛрд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдБ")ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЕрдиреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдП рдЧрдП рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдЧ рд╣реИрдВред рдкреВрд░реНрдг рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рд╣рд╛рдпрддрд╛ рдХреЛ "рдЗрдВрд╕реНрдкреЗрдХреН-рдХреНрд▓-рдлрд╝реЗрд▓реНрдк" рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬреАрдпреВрдЖрдИ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдПрдХ рд╣реА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ "рдХрдорд╛рдВрдб рд▓рд╛рдЗрди" рдмрдЯрди рд╣реИ рдЬреЛ рдЬреАрдпреВрдЖрдИ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдмрдирд╛рдПрдЧрд╛ред

рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE рдкрд░рд┐рдгрд╛рдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдЧрд╛ред рдЙрдиреНрд╣реЗрдВ рдЬреАрдпреВрдЖрдИ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдВрдбреЛрдЬ рдорд╢реАрди (рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд) рдкрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмрд╕ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╢реБрд░реВ рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдирд╛ рдкреВрд░реНрдг рд╕реНрд╡рдЪрд╛рд▓рди рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдирд┐рд░реАрдХреНрд╖рдХ рдХреЛ рд╕реАрдПрд▓рдЖрдИ рдореЗрдВ рдкрд╛рдИ рдЧрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ:

 inspxe-cl -report problems -r D:\tests\testapps\r002mi3 

 P1: Error: Mismatched allocation/deallocation New Problem P1.1: Mismatched allocation/deallocation D:\tests\testapps\mem_error.cpp(48): Error X10: Allocation site: Function start: Module D:\tests\testapps\mem_error.exe D:\tests\testapps\mem_error.cpp(49): Error X9: Mismatched deallocation site: Function start: Module D:\tests\testapps\mem_error.exe P3: Error: Invalid memory access New Problem P3.1: Invalid memory access D:\tests\testapps\mem_error.cpp (40): Error X4: Allocation site: Function start: Module D:\tests\testapps\mem_error.exe D:\tests\testapps\mem_error.cpp (42): Error X5: Deallocation site: Function start: Module D:\tests\testapps\mem_error.exe D:\tests\testapps\mem_error.cpp (44): Error X3: Read: Function start: Module D:\tests\testapps\mem_error.exe 

рдпрджрд┐ рд╕рд╛рджрд╛ рдкрд╛рда рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ csv рдкрд░ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЗрд╕реЗ XML рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░реНрд▓ рдФрд░ рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ:

 inspxe-cl -report problems тАУformat=xml -r D:\tests\r002mi3\ 

 <?xml version="1.0" encoding="UTF-8"?> <pset id="P1" type="Mismatched allocation/deallocation" state="New" severity="Error"> <obs id="X1" type="Allocation site" state="New" severity="Error"> <stack id="10"> <frame id="" module=" D:\tests\testapps\mem_error.exe" file="D:\tests\testapps\mem_error.cppтАЬ func="start" line="48"/> <frame id="" module=" D:\tests\testapps\mem_error.exe " file="D:\tests\testapps\mem_error.cppтАЬ func="start1" line="84"/> <frame id="" module="C:\Windows\syswow64\kernel32.dllтАЬ func="BaseThreadInitThunk" line="78792"/> </stack> </obs> <obs id="X2" type="Mismatched deallocation site" state="New" severity="Error"> <stack id="9"> <frame id="" module=" D:\tests\testapps\mem_error.exe " file="D:\tests\testapps\mem_error.cppтАЬ func="start" line="49"/> <frame id="" module=" D:\tests\testapps\mem_error.exe " file="D:\tests\testapps\mem_error.cppтАЬ func="start1" line="84"/> </stack> </obs> </pset> 

рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХрд╛рдлреА рдХреБрдЫ рдПрдХ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдирдП рдФрд░ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд▓реЛрдЧреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдЕрднреА рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдПрдХреНрд╕рдИ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ (рдирдП, рдкреБрд╖реНрдЯрд┐, рдлрд┐рдХреНрд╕реНрдб, рдЖрджрд┐) рдХреЛ рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдпрджрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЧрддрд┐рд╢реАрд▓рддрд╛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ - рдХреНрдпрд╛ рд╣рд╛рд▓рд┐рдпрд╛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рдж рд╕реЗ рдХреБрдЫ рдирдпрд╛ рдирд╣реАрдВ рд╣реИ? рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE рдмрджрд▓рд╛рд╡реЛрдВ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рджреЗрддреЗ рд╣реБрдП рд╡рд┐рднрд┐рдиреНрди рд▓реЙрдиреНрдЪреЛрдВ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ:

 inspxe-cl тАУmerge-states D:\tests\r000mi3\ -r D:\tests\r001mi3\ 

 inspxe-cl -report status -r D:\tests\r001mi3\ 

 9 problem(s) found 3 Investigated 6 Not investigated Breakdown by state: 2 Confirmed 1 Not a problem 4 Not fixed 2 Regression 

рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE рд╕рдВрднрд╛рд╡рд┐рдд "рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ" рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдбреЗрдЯрд╛ рд░реЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг C ++ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред OpenMP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реВрдк рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реНрдерд╛рди рдХреЛ рдЫреЛрдЯреЗ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 #pragma omp parallel for shared(j) for(i=0; i<MAX; i++) { printf("j=%d ", j++); } if(j != MAX) printf(тАЬerror\nтАЭ); 

рдЗрд╕ рджреМрдбрд╝ рдХреЗ рд▓рд┐рдП рдХрднреА-рдХрднреА рдЦреБрдж рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ MAX> 100,000,000 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдкрд░реАрдХреНрд╖рдг рдиреЗ 10 рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE рдХреЛ MAX = 10 рдФрд░ 10 рд╕реЗрдХрдВрдб рдХреЗ рд╕рд╛рде рдРрд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрднрд╛рд╡рд┐рдд рдбреЗрдЯрд╛ рджреМрдбрд╝ рдХреА рддрд▓рд╛рд╢ рдореЗрдВред рдмреЗрд╢рдХ, рдЙрджрд╛рд╣рд░рдг рдмрд╣реБрдд рдкрд░рд┐рд╖реНрдХреГрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪрд┐рддреНрд░рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдирд┐рд░реАрдХреНрд╖рдХ рдЯреЗрд╕реНрдЯ рд░рди рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреЛ рдмрдврд╝рд╛рдПрдЧрд╛ - рдкреНрд░рддрд┐ рдпреВрдирд┐рдЯ рд╕рдордп рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдВред

рдЕрдкрдиреА рдЦреЛрдЬ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХреЗрд╡рд▓ рдХреБрдЫ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 inspxe-cl -collect mi1 -module-filter module1.dll,module2.dll -module-filter-mode exclude -- D:\tests\testapps\mem_error.exe 

"-рдореЙрдбрд▓-рдлрд┐рд▓реНрдЯрд░-рдореЛрдб" рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг (рдмрд╣рд┐рд╖реНрдХреГрдд) рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕реЗ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдЙрдирдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ (рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ)ред

рдпрджрд┐ рдЖрдкрдХреЛ рдмрдЪреНрдЪреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ "-executable-of-interest" рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

 inspxe-cl -collect mi1 -executable-of-interest mem_error.exe -- D:\tests\testapps\startup_script.bat 

рдирд┐рд░реАрдХреНрд╖рдХ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреАрдо рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рджрд╕реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдкрд░рд┐рд╡рд╣рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рдирд┐рд░реНрдпрд╛рдд" рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдХреБрдЫ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рд╛рде, рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкреИрдХ рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╢реАрди рдкрд░ рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рди рдХрд░рдирд╛ рдкрдбрд╝реЗ, рдлрд╝рд╛рдЗрд▓ рдкрде, рдЖрджрд┐ред:

 inspxe-cl -export -archive-name my-new-archived_result.inspxez -include-sources -result-dir myRes 

рдЯреАрдо рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП, рдЖрдк рднреА рдХрд╛рдо рдореЗрдВ рдЖ рд╕рдХрддреЗ рд╣реИрдВ:

рд╡рд╣ рд╕рдм рд╣реИред рдЕрдм рдпрд╣ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE рдХреЗ рд▓реЙрдиреНрдЪ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЙрди рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд░рд╛рдд рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╣реИ рдФрд░ рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред

рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ + рдбрд┐рдмрдЧрд░ = рджреЛ рд╕реНрдЯреАрдо рдмреВрдЯ


рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреНрдп рдореЙрдбрд▓ рд╕рдорд╕реНрдпрд╛ рдХреА рддрд╣ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЦреЛрдЬ рдХрд░рдирд╛ рд╣реИред рд╢рд╛рдпрдж рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдмрдЧ рд╣реИ - рдХрднреА-рдХрднреА рдпрд╣ рдЬрдорд╛ рджреЗрддрд╛ рд╣реИ рдпрд╛ рдХреНрд░реИрд╢ рд╣реЛрддрд╛ рд╣реИред рдпрд╛ рд░рд╛рдд рдореЗрдВ рдПрдХ рдирд┐рд░реАрдХреНрд╖рдХ рджреНрд╡рд╛рд░рд╛ рдкрд░реАрдХреНрд╖рдг рдиреЗ рдПрдХ рдирдИ рд╕рдорд╕реНрдпрд╛ рдХреА рдЦреЛрдЬ рдХреА рд╣реИ рдЬрд┐рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╛ рдЖрдкрдиреЗ рдмрд╕ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдмреИрдардиреЗ рдФрд░ рдЕрдкрдиреА рд░рдЪрдирд╛ рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЛ рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдбрд┐рдмрдЧрд░реНрд╕ рдХреЗ рд╕рд╛рде рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдПрдХреНрд╕рдИ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рд╕рд╣рд╛рдпрдХ рд╣реЛрдЧрд╛ред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреА рдереА - 2013 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВред рдлрд┐рд▓рд╣рд╛рд▓, рд▓рд┐рдирдХреНрд╕ * рдкрд░ gdb рдФрд░ рдЗрдВрдЯреЗрд▓ рдбреАрдмрдЧрд░ рдбреАрдмрдЧрд░ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдбреАрдмрдЧрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрджрд┐ рд╣рдо рдПрдХ рдЕрдЬреНрдЮрд╛рдд рд╕рдорд╕реНрдпрд╛ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЖрд╡реЗрджрди рдореЗрдВ рдХрднреА-рдХрднреА рдЫреЛрдЯреА рдЧрд╛рдбрд╝реА рд╣реИ), рддреЛ рдбрд┐рдмрдЧрд░ рдХреЗ рд╕рд╛рде рдирд┐рд░реАрдХреНрд╖рдХ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ "рдбрд┐рдмрдЧрд░ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ рдЬрдм рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ" рдЪреБрдиреЗрдВред



рдЕрдм рд╣рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ - рдЬреИрд╕реЗ рд╣реА рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдПрдХреНрд╕рдИ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛, рдФрд░ рдЖрдк рдбрд┐рдмрдЧрд░ рдХреЗ рд╕рд╛рде рдЗрд╕рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдпрджрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рд╛рдд рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдкреНрд░рдХрдЯ рдХрд┐рдП рдЧрдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрдЧ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдирд┐рд░реАрдХреНрд╖рдХ рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд░рд┐рдгрд╛рдо рдЦреЛрд▓реЗрдВ, рд╕рдорд╕реНрдпрд╛ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, "рдбрд┐рдмрдЧ рджрд┐рд╕ рдкреНрд░реЙрдмреНрд▓рдо" рдЪреБрдиреЗрдВред рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE рдлрд┐рд░ рд╕реЗ рдЙрд╕реА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛, рдФрд░ рдЬреИрд╕реЗ рд╣реА рд╡рд┐рдЦреНрдпрд╛рдд рд╕рдорд╕реНрдпрд╛ рдлрд┐рд░ рд╕реЗ рдЦреБрдж рдХреЛ рдкреНрд░рдХрдЯ рдХрд░реЗрдЧреА, рдЖрдк рдЗрд╕рдХреА рдШрдЯрдирд╛ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕рддреНрд░ рдореЗрдВ рдбреВрдм рдЬрд╛рдПрдВрдЧреЗ:



рдЖрдк рдирд┐рд░реАрдХреНрд╖рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдбрд┐рдмрдЧрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рднреА рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддреАрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ:



рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдПрдХреНрд╕рдИ рдХреБрдЫ рднреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдЗрд╕ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрди рдмрдВрдж рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред рдФрд░ рдпрджрд┐ рдЖрдк рдбрд┐рдмрдЧ рдореЗрдиреВ (рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ) рдореЗрдВ "рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдПрдХреНрд╕рдИ рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рд░рдЦреЗрдВ" рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рд╖реНрдкрд╛рджрди рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдирд┐рд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рдеред рддрдм рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЬрд╛рдПрдЧрд╛, рдкреНрд░рддреНрдпреЗрдХ рд╕рдорд╕реНрдпрд╛ рдкрд░ рд░реЛрдХ рдХреЗ рд╕рд╛рдеред рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд╕рдордп рдХреЛ рдХрдо рдХрд░рдиреЗ рдФрд░ рдХреЛрдб рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рдВрдмреА рдЖрд░рдВрднреАрдХрд░рдг)ред

рд╕рд╛рд░рд╛рдВрд╢


рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE рдореЗрдореЛрд░реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдХрд╛рдлреА рдЬрдЯрд┐рд▓, рдЧрд╣рд░реЗ рдмреИрдареЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреА рд╡рдЬрд╣ рд╕реЗ, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рддрд╣рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдордп рдХрд╛рдлреА рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИред рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE 2013 рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЛрдиреЛрдВ GUI рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдПрдХ рдбрд┐рдмрдЧрд░ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЬреЛ рдореБрд╢реНрдХрд┐рд▓ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдЬрдбрд╝реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдПред рд▓реЗрдХрд┐рди рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдХреЛрдб рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдЬрд┐рддрдиреА рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рдФрд░ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рдпрд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрддрдирд╛ рд╣реА рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЖрд╡реЗрджрди рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЗрдВрдЯреЗрд▓ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдПрдХреНрд╕рдИ

рдЗрдВрдЯреЗрд▓ рд╕рдорд╛рдирд╛рдВрддрд░ рд╕реНрдЯреВрдбрд┐рдпреЛ XE 2013

рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ XE 2013 рдкреНрд░рд▓реЗрдЦрди

Source: https://habr.com/ru/post/In156289/


All Articles