4.4.1 Detecting Activity BugsActivities are window containers derived  การแปล - 4.4.1 Detecting Activity BugsActivities are window containers derived  ไทย วิธีการพูด

4.4.1 Detecting Activity BugsActivi

4.4.1 Detecting Activity Bugs
Activities are window containers derived from an Activity
superclass; their implementations consist of responding
to events generated by users and the system. Activity bugs
stem from incorrect implementation of the Activity class,
e.g., one activity might be created or destroyed in the wrong
way so that it will make the application crash. In general,
activity bugs occur either because developers are not sufficiently
familiar with the activity- and event-based application
model in Android, or because the implementation fails
to obey the activity state machine. In practice, almost every
application we analyzed has activity bugs because it is hard
to check whether each base function of the base class has
been properly implemented.
An activity has a life cycle described by a state machine,
hence violations of this state machine lead to activity bugs.
A simplified version of the state machine is shown in Figure
3; the full state machine can be found on the Android
developer website [12]. Each activity can be in one of five
states: Active, Pause, Stop, Restore or Destroy. If an activity
occupies the screen’s foreground, it is running, hence in
the Active state. If another non-full screen or transparent
activity overlaps the current activity, the current activity
will be moved into the Pause state. An activity is in state
Stop once it is fully covered by another activity. Activities
in states Stop or Pause can be killed by system if memory
is needed elsewhere. If the activity is killed and the user has
restarted it again after some time, that activity will be in state Restore and then Active. Once an activity needs to be
killed, it will be in the Destroy state.
To ensure a correct state sequence, e.g., Start! Active! Pause! Restore! Active! Destroy, the corresponding userdefined
activity methods should be called in a valid order as
specified by the state machine, in this case: onCreate()! onPause()! onResume()! onDestroy(). We use the state
machine as a specification and match method calls from log
file entries against it. Violations of the state machine are
then flagged as potential bugs.
For example, in ConnectBot release 256 we found a new activity
bug, indicated by the log file entries shown in Figure 5
(a). The bug in Figure 5(a) manifests itself as an onCreate()
on line 1 without a subsequent onPause() preceding line 3,
which is a violation of the state machine specification. The
bug corresponds to a situation where the user sets up a default
shell host beforehand and then starts the application,
which crashes the application. Figure 4 is a screen shot of
the application crash when the scenario described above unfolds.
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
4.4.1 ตรวจหาข้อบกพร่องของกิจกรรมกิจกรรมเป็นที่เก็บหน้าต่างมาจากกิจกรรมซุปเปอร์คลาส ประกอบด้วยตอบสนองการใช้งานเหตุการณ์ที่สร้างขึ้น โดยผู้ใช้และระบบ ข้อบกพร่องของกิจกรรมเกิดจากการเรียนกิจกรรม ปฏิบัติไม่ถูกต้องเช่น กิจกรรมหนึ่งอาจสร้าง หรือทำลายในไม่ถูกต้องดังนั้นวิธี จะทำให้ความผิดพลาดของแอพลิเคชัน ทั่วไปกิจกรรมข้อบกพร่องเกิดขึ้นอย่างใดอย่างหนึ่งเนื่องจากนักพัฒนาไม่พอคุ้นเคยกับโปรแกรมประยุกต์ตามกิจกรรม และเหตุการณ์แบบจำลองใน Android หรือเนื่อง จากไม่สามารถใช้งานต้องปฎิบัติตามสถานะของกิจกรรม ในทางปฏิบัติ เกือบทุกโปรแกรมประยุกต์ที่เราวิเคราะห์มีข้อบกพร่องของกิจกรรมได้ยากเพื่อตรวจสอบว่า มีฟังก์ชันแต่ละฟังก์ชันพื้นฐานของคลาสพื้นฐานได้ถูกนำมาใช้กิจกรรมจะมีวงจรชีวิตโดยสถานะดังนั้น ละเมิดสถานะนี้นำไปสู่ข้อบกพร่องของกิจกรรมแบบง่ายของเครื่องสถานะจะแสดงในรูป3 สถานะเต็มรูปแบบสามารถพบได้บน Androidนักพัฒนาเว็บไซต์ [12] แต่ละกิจกรรมสามารถเป็นหนึ่งในห้าอเมริกา: อยู่ หยุด หยุด การคืนค่า หรือทำลาย ถ้ากิจกรรมใช้พื้นหน้าของหน้าจอ ทำ ดังนั้นในสถานะการทำงาน ถ้าหน้าจอไม่เต็มอีก หรือโปร่งใสกิจกรรมทับซ้อนปัจจุบันกิจกรรม กิจกรรมปัจจุบันจะย้ายเข้าสู่สถานะหยุดชั่วคราว กิจกรรมที่อยู่ในสถานะหยุดเมื่อนั้นอย่างครอบคลุม โดยกิจกรรมอื่น กิจกรรมในอเมริกา หยุดหรือหยุดชั่วคราวสามารถถูกฆ่า โดยระบบถ้าหน่วยความจำเป็นสิ่งจำเป็นอื่น ๆ ถ้ากิจกรรมที่ถูกฆ่าตาย และผู้มีเริ่มใหม่อีกครั้งหลังจากเวลา ว่า กิจกรรมจะอยู่ในสถานะการคืนค่าและใช้งานอยู่แล้ว เมื่อกิจกรรมจำเป็นต้องฆ่า จะอยู่ในสถานะทำลายการให้ลำดับสถานะถูกต้อง เช่น เริ่มต้น ใช้งาน หยุด คืนค่า ใช้งาน ทำลาย userdefined ที่สอดคล้องกันควรเรียกวิธีการกิจกรรมในลำดับถูกต้องเป็นระบุสถานะ ในกรณีนี้: onCreate() onPause() onResume() onDestroy() เราใช้รัฐเครื่องเป็นเรียกเป็นวิธีเพาะและตรงจากล็อกรายการแฟ้มจากนั้น ละเมิดของสถานะเป็นแล้ว ตั้งค่าสถานะเป็นข้อบกพร่องที่อาจเกิดขึ้นตัวอย่าง ในรุ่น ConnectBot 256 เราพบกิจกรรมใหม่ข้อผิดพลาด ตามรายการแฟ้มล็อกที่แสดงในรูปที่ 5(ก) . ข้อบกพร่องในรูป 5(a) ปรากฏตัวเป็น onCreate() การบนบรรทัด 1 ไม่ onPause() ภายหลังที่ก่อนหน้าบรรทัด 3ซึ่งเป็นการละเมิดของสเปกเครื่องสถานะ ที่ข้อผิดพลาดที่สอดคล้องกับสถานการณ์ที่ผู้ใช้ตั้งค่าเริ่มต้นเชลล์โฮสต์ไว้ล่วงหน้าแล้ว เริ่มโปรแกรมประยุกต์ซึ่งเกิดความผิดพลาดโปรแกรมประยุกต์ รูปที่ 4 เป็นภาพหน้าจอของชนแอพลิเคชันเมื่อไม่พบสถานการณ์ที่อธิบายไว้ข้างต้น
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
4.4.1 การตรวจสอบบักกิจกรรม
กิจกรรมเป็นภาชนะหน้าต่างที่ได้มาจากกิจกรรม
superclass; การใช้งานของพวกเขาประกอบด้วยการตอบสนอง
ต่อเหตุการณ์ที่สร้างโดยผู้ใช้และระบบ ข้อบกพร่องกิจกรรม
เกิดจากการดำเนินการที่ไม่ถูกต้องของการเรียนกิจกรรม,
เช่นกิจกรรมหนึ่งอาจจะมีการสร้างหรือทำลายในทางที่ผิด
วิธีเพื่อที่จะทำให้ความผิดพลาดของแอพลิเคชัน โดยทั่วไป
ข้อบกพร่องกิจกรรมเกิดขึ้นอย่างใดอย่างหนึ่งเพราะนักพัฒนาไม่พอ
คุ้นเคยกับ activity- และการประยุกต์ใช้เหตุการณ์ตาม
แบบจำลองใน Android หรือเพราะการดำเนินการล้มเหลว
ที่จะปฏิบัติตามกลไกของรัฐกิจกรรม ในทางปฏิบัติเกือบทุก
แอปพลิเคเราวิเคราะห์มีข้อบกพร่องกิจกรรมเพราะมันเป็นเรื่องยากที่
จะตรวจสอบว่าแต่ละฟังก์ชันฐานของชั้นฐานได้
รับการดำเนินการอย่างถูกต้อง.
กิจกรรมมีวงจรชีวิตการอธิบายโดยเครื่องของรัฐ
จึงละเมิดนำเครื่องของรัฐนี้ . ข้อบกพร่องกิจกรรม
รุ่นที่เรียบง่ายของเครื่องของรัฐที่มีการแสดงในรูปที่
3; เครื่องรัฐเต็มรูปแบบสามารถพบได้บน Android
เว็บไซต์ของนักพัฒนา [12] กิจกรรมแต่ละคนสามารถเป็นหนึ่งในห้า
รัฐ: ที่ใช้งาน, หยุด, หยุด, Restore หรือทำลาย หากกิจกรรม
หมกมุ่นอยู่เบื้องหน้าของหน้าจอก็จะทำงานด้วยเหตุนี้ใน
สภาพที่ใช้งาน ถ้าผู้อื่นที่ไม่ใช่หน้าจอเต็มหรือโปร่งใส
กิจกรรมคาบเกี่ยวกิจกรรมปัจจุบันกิจกรรมปัจจุบัน
จะย้ายเข้าไปอยู่ในรัฐหยุดชั่วคราว กิจกรรมอยู่ในสถานะที่
หยุดเมื่อมันได้รับการคุ้มครองอย่างเต็มที่โดยกิจกรรมอื่น กิจกรรม
ในรัฐหยุดหรือหยุดชั่วคราวจะถูกฆ่าตายโดยระบบถ้าหน่วยความจำ
ที่จำเป็นอื่น ๆ หากกิจกรรมถูกฆ่าตายและผู้ใช้ที่ได้
เริ่มต้นใหม่อีกครั้งหลังจากที่บางครั้งกิจกรรมที่จะอยู่ในรัฐ Restore แล้วใช้งาน เมื่อกิจกรรมจะต้องมีการ
เสียชีวิตก็จะอยู่ในรัฐทำลาย.
เพื่อให้แน่ใจว่าลำดับสถานะที่ถูกต้องเช่นการเริ่มต้น! ที่ใช้งาน! หยุด! เรียกคืน! ที่ใช้งาน! ทำลาย userdefined สอดคล้อง
วิธีการกิจกรรมที่ควรจะเรียกว่าอยู่ในลำดับที่ถูกต้องเป็น
ที่ระบุโดยกลไกของรัฐในกรณีนี้: onCreate ()! onPause ()! onResume ()! OnDestroy () เราใช้รัฐ
เป็นเครื่องสเปคและตรงกับวิธีการโทรจากบันทึก
รายการแฟ้มกับมัน การละเมิดเครื่องของรัฐที่มี
สถานะแล้วเป็นข้อบกพร่องที่อาจเกิดขึ้น.
ยกตัวอย่างเช่นในการเปิดตัว ConnectBot 256 ที่เราพบกิจกรรมใหม่
ข้อผิดพลาดที่ระบุโดยรายการแฟ้มบันทึกที่แสดงในรูปที่ 5
() ข้อผิดพลาดในรูปที่ 5 () ปรากฏตัวเป็น onCreate ()
ในบรรทัดที่ 1 โดยไม่ต้อง onPause ภายหลัง () บรรทัดก่อนหน้านี้ 3
ซึ่งเป็นละเมิดของสเปคเครื่องของรัฐ
ข้อผิดพลาดที่สอดคล้องกับสถานการณ์ที่ผู้ใช้ตั้งค่าเริ่มต้น
โฮสต์เปลือกก่อนและจากนั้นก็เริ่มการประยุกต์ใช้
แอพลิเคชันที่ล้มเหลว รูปที่ 4 เป็นภาพหน้าจอของ
การประยุกต์ใช้ความผิดพลาดเมื่อสถานการณ์ที่อธิบายข้างต้นแผ่ออกไป
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
4.4.1 การตรวจจับข้อบกพร่อง
กิจกรรม เป็นกิจกรรมที่หน้าต่างภาชนะที่ได้มาจากกิจกรรมการดำเนินงานของซูเปอร์คลาส
;
เหตุการณ์ประกอบด้วยการตอบสนองที่สร้างโดยผู้ใช้และระบบ แมลงกิจกรรม
เกิดจากการดำเนินงานของชั้นเรียน กิจกรรมไม่ถูกต้อง
เช่น กิจกรรมหนึ่งอาจจะสร้างหรือทำลายในทางผิด
ดังนั้นมันจะทําให้ความผิดพลาดโปรแกรม โดยทั่วไป
แมลงกิจกรรมเกิดขึ้นเหมือนกัน เพราะนักพัฒนาจะไม่เพียงพอ
คุ้นเคยกับกิจกรรม - กิจกรรมตามรูปแบบการประยุกต์
ใน Android , หรือเนื่องจากการล้มเหลว
เชื่อฟังกิจกรรมสภาพเครื่องจักร ในการฝึกเกือบทุกโปรแกรมที่เราใช้มีบัคกิจกรรม

เพราะมันเป็นเรื่องยากที่จะตรวจสอบว่า แต่ละฐานการทำงานของฐานชั้นมี

ถูกนำมาใช้กิจกรรมมีวงจรชีวิตที่อธิบายไว้โดยรัฐจักร
ดังนั้นการละเมิดสภาพเครื่องนี้นำไปสู่ข้อบกพร่องกิจกรรม .
รุ่นที่เรียบง่ายของรัฐเครื่องแสดงในรูป
3 ; สภาพเครื่องเต็มสามารถพบได้บนเว็บไซต์ของ Android
[ 12 ] แต่ละกิจกรรมจะเป็นหนึ่งในห้า
สถานะ : ปราดเปรียว , หยุด , หยุด , เรียกคืนหรือทำลาย ถ้ากิจกรรม
ตรงบริเวณหน้าจอเบื้องหน้ามันวิ่งได้ ดังนั้นใน
สภาพใช้งาน ถ้าคนอื่นไม่เต็มจอหรือกิจกรรมซ้อนกิจกรรมใส

กิจกรรมปัจจุบัน ปัจจุบันจะย้ายไปหยุดรัฐ จัดกิจกรรมในรัฐ
หยุดเมื่อมีการคุ้มครองอย่างเต็มที่โดยกิจกรรมอื่น กิจกรรม
ในรัฐหยุด หรือหยุด สามารถฆ่าโดยระบบความจำ
จำเป็นอื่น ถ้ากิจกรรมคือการฆ่าและผู้ใช้
เริ่มต้นใหม่อีกครั้งหลังจากเวลาที่กิจกรรมจะอยู่ในสถานะคืนแล้วที่ใช้งานอยู่ เมื่อกิจกรรมต้อง
ฆ่า มันจะอยู่ในทำลายรัฐ
เพื่อให้แน่ใจว่าลำดับสถานะที่ถูกต้อง เช่น เริ่ม ! ! ! ใช้งานอยู่ หยุด ! เรียกคืน ! ใช้งานอยู่ ทําลาย ที่ userdefined
กิจกรรมวิธีการควรจะเรียกว่าในการสั่งซื้อที่ถูกต้อง
ระบุโดยรัฐจักร ในกรณีนี้ oncreate() !onpause() ! onresume() ! ondestroy() . เราใช้รัฐ
เครื่องเป็นสเปคและวิธีราคาโทรจากบันทึก
ไฟล์รายการต่อต้านมัน การละเมิดของรัฐเครื่องจักร
แล้วตั้งค่าสถานะเป็นข้อบกพร่องที่อาจเกิดขึ้น .
ตัวอย่างเช่นใน connectbot ปล่อยเราพบข้อบกพร่องกิจกรรม
ใหม่ โดยระบุแฟ้มบันทึกรายการที่แสดงในรูปที่ 5
( A ) ข้อผิดพลาดในรูปที่ 5 ( ) เป็น oncreate()
manifests เองในบรรทัดที่ 1 โดยต่อมา onpause() ก่อนหน้าบรรทัดที่ 3
ซึ่งมีการละเมิดรัฐเครื่องสเปค
@ สอดคล้องกับสถานการณ์ที่ผู้ใช้ตั้งค่าเริ่มต้นเปลือกโฮสต์ก่อนแล้ว

เริ่มโปรแกรม ซึ่งเกิดปัญหาโปรแกรม รูปที่ 4 เป็นภาพหน้าจอของ
ผิดพลาดโปรแกรมเมื่อสถานการณ์ที่อธิบายข้างต้นเปิดออก
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2025 I Love Translation. All reserved.

E-mail: