我有一個命令行應用程序,它在shell上執行時會列出從數據庫讀取的輸出。並且它獲得了這個信息塊的內存分配和免費正在完成。 當我執行命令(其輸出將跨越6000頁)時,它會正確列出數據。 但是(僅在AIX中)當我發出'command |在顯示隨機數量的頁面之後,在應用程序中獲取數據塊的內存分配失敗。 (在相同的數據中,相同的命令實現與更多的工作正常在Linux中)。 任何想法爲什麼在AIX中它失敗了?任何人都知道AIX中的內存分配標準?爲什麼管道輸出更多的命令會導致應用程序內存分配失敗?AIX:在應用程序中將應用程序命令輸出管道連接到更多結果malloc失敗
1
A
回答
0
不清楚究竟是什麼故障。你是否遇到seg錯誤或者是malloc返回0表示你的內存不足?
錯誤可能存在於AIX庫中,但它可能很容易在您的應用程序中出現。
去這裏:http://pic.dhe.ibm.com/infocenter/aix/v6r1/index.jsp(或頁面是適合您的水平)
搜索「的malloc調試」。這些設施沒有出血的邊緣,但它們相當好,完整。有了一些時間和注意力之後,你可以追蹤內存泄漏並在釋放內存後使用內存(這聽起來就像這裏的情況)。
它也很好地審查可用的APARs爲您的級別尋找類似的聲音。
還有第三方工具,如零錯誤http://www.zerofault.com/index.html和Purify(看起來像IBM購買)http://www-01.ibm.com/software/awdtools/purify/unix/sysreq/幫助。
祝你好運
相關問題
- 1. 管道輸出使蟒程序失敗
- 2. isis2應用程序連接失敗
- 3. clang錯誤:連接器命令失敗,XCode 4.2命令行應用程序
- 4. 將Android應用程序連接到JEE6應用程序
- 5. 將symbian應用程序連接到j2me應用程序
- 6. 如果選中「檢查更新」,ClickOnce應用程序將失敗
- 7. 連接失敗的應用程序被拒絕連接jwplayer
- 8. 知道Zookeeper連接在Springboot應用程序中何時丟失
- 9. linke命令在反應原生應用程序中失敗,使用react-native-firebase
- 10. 在Linux中自動啓動應用程序,輸出失敗
- 11. 將android應用程序連接到mysql
- 12. 將mysql連接到javafx應用程序
- 13. 將mssql連接到android應用程序
- 14. 將SQLite3連接到應用程序
- 15. 將MySQL連接到Spring應用程序
- 16. 將.NET應用程序連接到MySQL
- 17. 將android應用程序連接到xampp
- 18. 將F#應用程序連接到FIXImulator
- 19. 將mongoDB連接到sencha應用程序
- 20. 將MobileFirst應用程序連接到DB2
- 21. 應用程序:compileDebugJavaWithJavac失敗
- 22. 請求到GAE應用程序失敗,連接重置
- 23. 失敗[install_failed_container_error]嘗試使用'adb'命令安裝應用程序
- 24. vb.net控制檯應用程序顯示輸出和管道結果
- 25. 在java命令行應用程序中創建連接池
- 26. 科爾多瓦窗口應用程序ajax請求HTTPS失敗,連接失敗
- 27. 在應用程序購買失敗的生產應用程序
- 28. android應用程序使用OAuth2連接到'sparklr'J2EE應用程序
- 29. 在連接(應用程序)
- 30. 將iPhone應用程序與iPad應用程序連接
您好,非常感謝您的閱讀和張貼您的意見。 1.我們已經檢查了可能的內存泄漏的代碼,但是我們沒有找到任何內存泄漏。 2.在具有相同數據的Linux中,它工作正常,對於Linux和AIX來說,源代碼都是相同的。3.純命令執行不是問題4.只有在使用(| more)執行命令時,纔會觀察到malloc失敗。因此我覺得這與AIX內存管理有關。 –
如果應用程序出現問題,則在沒有(|更多)的情況下執行命令時,應該導致malloc失敗。但是,如果沒有將輸出重定向到「更多命令」,則不會觀察到malloc失敗 –