Mô t? R6025 th?i gian ch?y l?i trong Visual C++

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 125749 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TÓM T?T

Bài vi?t này th?o lu?n v? m?t v?n đ? mà có th? x?y ra khi b?n đang phát tri?n m?t chương tr?nh. N?u b?n v?n c?n đang g?p m?t v?n đ? tương t? v?i m?t trong nh?ng bài vi?t này mô t?, nó có th? là m?t v?n đ? khác nhau. Đ? t?m ki?m các v?n đ? liên quan đ?n m?t v?n đ? c? th?, h?y bao g?m tên s?n ph?m trong t?m ki?m c?a b?n đ? thu h?p k?t qu? c?a b?n. Đ? kh?c ph?c v?n đ? tương t?, xin vui l?ng xem ph?n "v?n đ? tương t? và ngh? quy?t" sau này trong bài vi?t này.

TRI?U CH?NG

Chương tr?nh C++ không thành công và báo cáo l?n ch?y sau l?i:
l?i th?i gian ch?y R6025
-ch?c năng tinh khi?t ?o cu?c g?i

NGUYÊN NHÂN

L?i này x?y ra khi các ?ng d?ng gián ti?p g?i cho m?t ch?c năng tinh khi?t viên ?o trong m?t b?i c?nh nơi m?t cu?c g?i đ?n ch?c năng là không h?p l?. Trong h?u h?t trư?ng h?p, tr?nh biên d?ch phát hi?n đi?u này và báo cáo l?i khi xây d?ng các ?ng d?ng. Nhưng ph? thu?c vào cách m? c?a b?n đư?c vi?t, đôi khi v?n đ? phát hi?n ch? t?i th?i gian ch?y.

L?i x?y ra khi b?n gián ti?p g?i m?t ch?c năng tinh khi?t ?o trong b?i c?nh c?a m?t cu?c g?i đ?n các nhà xây d?ng ho?c destructor c?a m?t l?p cơ s? tr?u tư?ng. Đi?u này đư?c minh h?a trong các m?u m? dư?i đây, cùng v?i m?t s? mô t? b?.

GI?I PHÁP

Kêu g?i m?t ch?c năng ?o tinh khi?t là m?t l?i l?p tr?nh, v? v?y b?n c?n ph?i t?m các cu?c g?i đ?n ch?c năng ?o tinh khi?t và vi?t l?i m? như v?y nó không đư?c g?i là.

M?t cách đ? t?m m?t cu?c g?i đ?n m?t ch?c năng tinh khi?t ?o là đ? thay th? các ch?c năng tinh khi?t ?o v?i m?t th?c hi?n các cu?c g?i các Windows API ch?c năng DebugBreak. Khi s? d?ng tr?nh g? l?i, DebugBreak s? gây ra m?t breakpoint c?ng m? hoá. Khi m? d?ng ch?y lúc này breakpoint, b?n có th? xem callstack đ? xem nơi mà các ch?c năng đư?c g?i là.

M?t cách khác đ? t?m th?y m?t cu?c g?i đ?n m?t ch?c năng tinh khi?t ?o là đ? đ?t m?t breakpoint trên các _purecall ch?c năng đư?c t?m th?y trong PureVirt.c. Phá v? vào ch?c năng này có l?i th? c?a gi? ngăn x?p c?n nguyên v?n đ? b?n có th? theo d?i nh?ng g? đang x?y ra.

T?NH TR?NG

Hành vi này là b?i thi?t k?.

THÔNG TIN THÊM

Đ? bi?t thêm thông tin, tham kh?o các "C th?i gian ch?y l?i R6002 thông qua R6025 "trang trong ph?n "Xây d?ng l?i" trong Microsoft Developer Network (MSDN) Web site sau:
http://msdn2.Microsoft.com/en-us/Library/aa277044 (VS.60) .aspx
Chú ý R6025 l?i không ph?i trong tài li?u hư?ng d?n s? d?ng ho?c tr? giúp tr?c tuy?n bao g?m v?i Visual C++, các phiên b?n 2.x ho?c dư?i đây. Tuy nhiên, nó m?t th?i gian ng?n th?o lu?n trong Ph?n 3 c?a các t?p tin Readme.wri đư?c v?n chuy?n v?i Visual C++ Phiên b?n 2.0.

Mã mẫu

   /* Compile options needed: none
   */ 

   class A;

   void fcn( A* );

   class A
   {
   public:
       virtual void f() = 0;
       A() { fcn( this ); }
   };

   class B : A
   {
       void f() { }
   };

   void fcn( A* p )
   {
       p->f();
   }

   // The declaration below invokes class B's constructor, which
   // first calls class A's constructor, which calls fcn. Then
   // fcn calls A::f, which is a pure virtual function, and
   // this causes the run-time error. B has not been constructed
   // at this point, so the B::f cannot be called. You would not
   // want it to be called because it could depend on something
   // in B that has not been initialized yet.

   B b;

   void main()
   {
   }
				

V?n đ? tương t? và ngh? quy?t

N?u b?n v?n c?n đang g?p m?t v?n đ? tương t? v?i v?n đ? bài vi?t này mô t?, nó có th? là m?t v?n đ? khác nhau. Đ? bi?t thêm chi ti?t v? v?n đ? tương t? và ngh? quy?t, nh?p vào s? bài vi?t sau đ? xem các bài vi?t trong cơ s? ki?n th?c Microsoft:
240437Ti?n th?i gian ch?y l?i: "R6025-tinh khi?t ?o hàm g?i"
308260 Làm th? nào đ? kh?c ph?c s? c? k?ch b?n l?i trong Internet Explorer 6 và trong Internet Explorer 7 trên máy tính d?a trên Windows 2000, d?a trên Windows XP, Windows Server 2003 d?a trên, ho?c d?a trên Windows Vista
267572 WD2000: Thông báo l?i: "th?i gian ch?y l?i '5'" khi b?n b?t đ?u t?
170409 SBFM97: MS Visual C++ th?i gian ch?y l?i nh?p d? li?u Quickbooks
309299 L?i th?i gian ch?y khi b?n duy?t đ?n m?t s? trang Web

Thu?c tính

ID c?a bài: 125749 - L?n xem xét sau cùng: 23 Tháng Chín 2011 - Xem xét l?i: 3.0
Áp d?ng
  • Microsoft Visual C++ 2008 Express Edition
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 2.0 Professional Edition
  • Microsoft Visual C++ 1.5 Professional Edition
T? khóa: 
kbresolve kbtshoot kbcompiler kbcpponly kberrmsg kbprb kbmt KB125749 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:125749

Cung cấp Phản hồi

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com